Ruby
2.1.10p492(2016-04-01revision54464)
|
Go to the source code of this file.
Data Structures | |
union | C_block |
Macros | |
#define | _PASSWORD_EFMT1 '_' |
#define | MUST_ALIGN |
#define | LONG_IS_32_BITS |
#define | STATIC static |
#define | TO_SIX_BIT(rslt, src) |
#define | ZERO(d, d0, d1) ((d0) = 0, (d1) = 0) |
#define | LOAD(d, d0, d1, bl) ((d0) = (bl).b32.i0, (d1) = (bl).b32.i1) |
#define | LOADREG(d, d0, d1, s, s0, s1) ((d0) = (s0), (d1) = (s1)) |
#define | OR(d, d0, d1, bl) ((d0) |= (bl).b32.i0, (d1) |= (bl).b32.i1) |
#define | STORE(s, s0, s1, bl) ((bl).b32.i0 = (s0), (bl).b32.i1 = (s1)) |
#define | DCL_BLOCK(d, d0, d1) long d0, d1 |
#define | LGCHUNKBITS 2 |
#define | CHUNKBITS (1<<LGCHUNKBITS) |
#define | PERM6464(d, d0, d1, cpp, p) { C_block tblk; permute((cpp),&tblk,(p),8); LOAD ((d),(d0),(d1),tblk); } |
#define | PERM3264(d, d0, d1, cpp, p) { C_block tblk; permute((cpp),&tblk,(p),4); LOAD ((d),(d0),(d1),tblk); } |
#define | KS_SIZE 16 |
#define | SALT salt |
#define | SPTAB(t, i) (*(long *)((unsigned char *)(t) + (i)*(sizeof(long)/4))) |
#define | DOXOR(x, y, i) k=B.b[(i)]; (x)^=SPTAB(SPE[0][(i)],k); (y)^=SPTAB(SPE[1][(i)],k); |
#define | CRUNCH(p0, p1, q0, q1) |
Functions | |
int | des_setkey () |
int | des_cipher () |
STATIC void | init_des () |
STATIC void | init_perm () |
STATIC void | permute () |
ZERO (D, D0, D1) | |
OR (D, D0, D1,*tp) | |
while (--chars_in > 0) | |
STORE (D, D0, D1,*out) | |
for (i=0;i< 8;i++) | |
if (des_setkey((char *) keyblock.b)) | |
for (i=salt_size;--i >=0;) | |
if (des_cipher((char *)&constdatablock,(char *)&rsltblock, salt, num_iter)) | |
TO_SIX_BIT (salt, L0) | |
LOAD (L, L0, L1, B) | |
LOADREG (R, R0, R1, L, L0, L1) | |
STORE (L, L0, L1, B) | |
PERM3264 (L, L0, L1, B.b,(C_block *) IE3264) | |
PERM3264 (R, R0, R1, B.b+4,(C_block *) IE3264) | |
if (num_iter >=0) | |
while (--num_iter >=0) | |
PERM6464 (L, L0, L1, B.b,(C_block *) CF6464) | |
return (0) | |
return (des_setkey((char *) keyblock.b)) | |
if (des_cipher((char *)&cblock,(char *)&cblock, 0L,(flag?-1:1))) | |
Variables | |
STATIC void unsigned char * | cp |
C_block * | out = B.b[0] |
register C_block * | p = (1<<CHUNKBITS) |
int | chars_in |
register C_block * | tp |
register int | t |
do | |
static unsigned char | IP [] |
static unsigned char | ExpandTr [] |
static unsigned char | PC1 [] |
static unsigned char | Rotates [] |
static unsigned char | PC2 [] |
static unsigned char | S [8][64] |
static unsigned char | P32Tr [] |
static unsigned char | CIFP [] |
static unsigned char | itoa64 [] |
static unsigned char | a64toi [128] |
static C_block | PC1ROT [64/CHUNKBITS][1<< CHUNKBITS] |
static C_block | PC2ROT [2][64/CHUNKBITS][1<< CHUNKBITS] |
static C_block | IE3264 [32/CHUNKBITS][1<< CHUNKBITS] |
static long | SPE [2][8][64] |
static C_block | CF6464 [64/CHUNKBITS][1<< CHUNKBITS] |
static C_block | constdatablock |
static char | cryptresult [1+4+4+11+1] |
char *register const char * | key |
register const char * | setting |
register long | i |
long | salt = 0 |
int | num_iter |
int | salt_size |
C_block | keyblock |
C_block | rsltblock |
encp = salt_size | |
int const char * | in |
register C_block * | kp |
register int | ks_inc = -(int)sizeof(*kp) |
register int | loop_count |
C_block | B |
L0 = salt | |
B | b [0] = in[0] |
R0 & | R1 = (R1 >> 1) & 0x55555555L |
L1 = R0 | R1 | |
else | |
STATIC void C_block | perm [64/CHUNKBITS][1<< CHUNKBITS] |
int | chars_out |
int register char * | block |
int | flag |
C_block | cblock |
#define CHUNKBITS (1<<LGCHUNKBITS) |
#define CRUNCH | ( | p0, | |
p1, | |||
q0, | |||
q1 | |||
) |
Referenced by while().
#define KS_SIZE 16 |
Referenced by while().
#define STORE | ( | s, | |
s0, | |||
s1, | |||
bl | |||
) | ((bl).b32.i0 = (s0), (bl).b32.i1 = (s1)) |
#define TO_SIX_BIT | ( | rslt, | |
src | |||
) |
Definition at line 259 of file crypt.c.
Referenced by init_des().
for | ( | ) |
Definition at line 511 of file crypt.c.
References C_block::b, i, and t.
if | ( | des_setkey((char *) keyblock.b) | ) |
Definition at line 516 of file crypt.c.
References _PASSWORD_EFMT1, C_block::b, des_cipher(), des_setkey(), i, NULL, and t.
if | ( | des_cipher((char *)&constdatablock,(char *)&rsltblock,salt, num_iter) | ) |
if | ( | des_cipher((char *)&cblock,(char *)&cblock, 0L,(flag?-1:1)) | ) |
Definition at line 963 of file crypt.c.
References C_block::b, and i.
Definition at line 759 of file crypt.c.
References i, init_perm(), j, perm, and TO_SIX_BIT.
Referenced by init_des().
OR | ( | D | , |
D0 | , | ||
D1 | , | ||
* | tp | ||
) |
return | ( | 0 | ) |
return | ( | des_setkey((char *) keyblock.b) | ) |
STORE | ( | D | , |
D0 | , | ||
D1 | , | ||
* | out | ||
) |
while | ( | -- | chars_in, |
0 | |||
) |
while | ( | --num_iter >= | 0 | ) |
ZERO | ( | D | , |
D0 | , | ||
D1 | |||
) |
int register char* block |
Definition at line 949 of file crypt.c.
Referenced by build_postexe_iseq(), define_final(), define_final0(), eval_string_with_cref(), iseq_build_from_ary_body(), iseq_compile_each(), iseq_data_to_ary(), iseq_set_sequence(), new_insn_send(), proc_new(), rb_block_arity(), rb_funcall_with_block(), rb_iseq_parameters(), rb_method_call_with_block(), rb_mod_refine(), rb_proc_call_with_block(), rb_proc_min_max_arity(), rb_proc_s_new(), rb_yield_refine_block(), SHA1_Transform(), vm_invoke_block(), and yield_under().
C_block cblock |
|
static |
Definition at line 307 of file crypt.c.
Referenced by BSD__ultoa(), BSD_vfprintf(), code_page_i(), code_page_installed(), filecp(), fole_s_set_code_page(), Init_enc_set_filesystem_encoding(), main(), ole_init_cp(), ole_vstr2wc(), options(), pack_pack(), rb_file_expand_path_internal(), rb_locale_charmap(), ruby__sfvextra(), set_ole_codepage(), str_gsub(), strio_ungetbyte(), VpAddAbs(), and VpSubAbs().
do |
else |
encp = salt_size |
Definition at line 564 of file crypt.c.
Referenced by parser_tokadd_string().
|
static |
register long i |
Definition at line 639 of file crypt.c.
Referenced by ossl_cipher_update(), ossl_dh_initialize(), ossl_dsa_initialize(), ossl_pkcs12_initialize(), ossl_pkcs7_add_data(), ossl_pkcs7_initialize(), ossl_pkcs7_s_encrypt(), ossl_pkcs7_s_read_smime(), ossl_pkcs7_s_sign(), ossl_pkcs7_s_write_smime(), ossl_pkcs7_verify(), ossl_rsa_initialize(), ossl_ssl_session_initialize(), ossl_x509_initialize(), ossl_x509crl_initialize(), and ossl_x509req_initialize().
|
static |
|
static |
C_block keyblock |
kp |
char * out = B.b[0] |
Definition at line 308 of file crypt.c.
Referenced by console_dev(), fetch_token(), gc_profile_report(), object_allocations_reporter_i(), open_ifs_socket(), ossl_dh_export(), ossl_dh_to_text(), ossl_dsa_export(), ossl_dsa_to_text(), ossl_pkcs7_add_data(), ossl_pkcs7_decrypt(), ossl_pkcs7_s_read_smime(), ossl_pkcs7_s_write_smime(), ossl_pkcs7_to_pem(), ossl_pkcs7_verify(), ossl_rsa_export(), ossl_rsa_to_text(), ossl_spki_print(), ossl_ssl_session_to_pem(), ossl_ssl_session_to_text(), ossl_x509_get_signature_algorithm(), ossl_x509_to_pem(), ossl_x509_to_text(), ossl_x509attr_get_oid(), ossl_x509crl_get_signature_algorithm(), ossl_x509crl_to_der(), ossl_x509crl_to_pem(), ossl_x509crl_to_text(), ossl_x509ext_get_oid(), ossl_x509ext_get_value(), ossl_x509name_to_s(), ossl_x509req_get_signature_algorithm(), ossl_x509req_to_pem(), ossl_x509req_to_text(), rb_ary_times(), rb_f_printf(), rb_obj_display(), report_bug(), and rgengc_report_body().
unsigned char p = (1<<CHUNKBITS) |
Definition at line 309 of file crypt.c.
Referenced by add_multi_byte_cclass(), appendline(), argf_alloc(), ASN1_put_eoc(), autoload_i_free(), autoload_i_mark(), autoload_provided(), backref_match_at_nested_level(), backward_search_range(), bary_pack(), bary_unpack_internal(), big2str_2bdigits(), BigDecimal_hash(), BigDecimal_IsFinite(), BigDecimal_IsInfinite(), BigDecimal_IsNaN(), BigDecimal_prec(), BigDecimal_to_f(), BigDecimal_to_i(), BigDecimal_to_r(), bm_search(), bm_search_backward(), bm_search_ic(), bm_search_notrev(), bracket(), BSD__sfvwrite(), BSD_vfprintf(), bubblebabble_str_new(), bufread_call(), check_valid_dir(), chopped_length(), cmdglob(), code_status(), compile_length_string_node(), compile_string_node(), compile_tree(), concat_opt_exact_info(), concat_opt_exact_info_str(), constat_handle(), constat_reset(), cont_capture(), convert_UTF8_to_JSON(), copy_home_path(), count_objects(), cParser_parse_quirks_mode(), cParser_parse_strict(), date_strftime_internal(), date_zone_to_diff(), deallocate(), decode_bool(), decode_bstr(), decode_enum(), decode_int(), decode_null(), decode_obj(), decode_time(), dln_find_1(), dln_load(), do_sleep(), e2w_conv(), enc_strlen(), entry_repeat_range(), enumerator_mark(), establishShell(), ev_advise(), expand_case_fold_string(), features_index_add(), fetch_char_property_to_ctype(), fetch_escaped_value(), fetch_name(), fetch_name_with_level(), fetch_named_backref_token(), fetch_range_quantifier(), fetch_token(), fetch_token_in_cc(), finalize_deferred(), find_default_source(), find_inputcode_byfunc(), find_str_position(), finish_writeconv_sync(), flo_to_s(), fnmatch(), fnmatch_helper(), fole_activex_initialize(), fole_each(), fole_initialize(), fole_query_interface(), fole_s_connect(), forward_search_range(), gc_before_heap_sweep(), gc_page_sweep(), generator_mark(), get_device_once(), get_digest_base_metadata(), get_guessed_code(), getnameinfo(), glob_helper(), glob_make_pattern(), gzfile_read_header(), gzfile_read_raw_until_zero(), gzreader_charboundary(), gzreader_gets(), gzreader_skip_linebreaks(), h_conv(), heap_get_freeobj(), heap_get_freeobj_from_next_freepage(), heap_page_add_freeobj(), heap_page_allocate(), hexencode_str_new(), include_modules_at(), init_funcname_len(), Init_ossl_dh(), Init_ossl_dsa(), Init_ossl_rsa(), int_ossl_asn1_decode0_prim(), internal_object_p(), io_binwrite_string(), io_encname_bom_p(), is_not_included(), is_pointer_to_heap(), isArrayOrObject(), isUNCRoot(), join_argv(), JSON_parse_float(), JSON_parse_integer(), JSON_parse_string(), JSON_parse_value(), json_string_unescape(), kanji_convert(), load_file_internal(), loaded_feature_path(), loaded_feature_path_i(), make_deferred(), mark_dump_arg(), mark_load_arg(), mark_marshal_compat_i(), match_aref(), match_at(), MD5_Update(), mime_begin_strict(), module_connection(), moreswitches(), name_add(), name_err_mesg_mark(), next_state(), nl_langinfo_codeset(), node_new_backref(), node_new_str_raw_char(), nurat_rationalize(), ole_bind_obj(), ole_variant2val(), onig_error_code_to_format(), onig_node_str_cat(), onig_parse_make_tree(), onig_reduce_nested_quantifier(), onig_scan_unsigned_number(), onigenc_get_right_adjust_char_head(), onigenc_get_right_adjust_char_head_with_prev(), onigenc_mbclen_approximate(), onigenc_mbn_mbc_case_fold(), onigenc_str_bytelen_null(), onigenc_strlen_null(), open_dir_handle(), open_mime(), opendir_internal(), option_to_str(), options(), os_obj_of_i(), ossl_asn1_decode(), ossl_asn1_decode0(), ossl_asn1_decode_all(), ossl_asn1_traverse(), ossl_asn1cons_to_der(), ossl_asn1data_to_der(), ossl_asn1prim_to_der(), ossl_dh_to_der(), ossl_dsa_to_der(), ossl_pkcs12_to_der(), ossl_pkcs7_to_der(), ossl_rsa_to_der(), ossl_spki_initialize(), ossl_spki_to_der(), ossl_ssl_session_to_der(), ossl_x509_to_der(), ossl_x509attr_get_value(), ossl_x509attr_initialize(), ossl_x509attr_to_der(), ossl_x509ext_initialize(), ossl_x509ext_to_der(), ossl_x509name_to_der(), ossl_x509req_to_der(), ossl_x509stctx_set_purpose(), ossl_x509store_set_purpose(), output_hex_charref(), pack_pack(), pack_unpack(), parse_char_class(), parse_enclose(), parse_mode_enc(), parse_posix_bracket(), parse_time2_cb(), parser_here_document(), parser_new(), parser_peek_variable_name(), parser_yyerror(), path_check_0(), path_sub_ext(), proc_exec_cmd(), proc_options(), process_sflag(), push_include(), rb_ary_compact_bang(), rb_ary_permutation(), rb_ary_repeated_combination(), rb_ary_repeated_permutation(), rb_cstr_to_dbl(), rb_dlptr_initialize(), rb_econv_add_transcoder_at(), rb_enc_aliases_enc_i(), rb_enc_strlen_cr(), rb_exec_fillarg(), rb_execarg_fixup(), rb_feature_p(), rb_fiddle_ptr_initialize(), rb_file_dirname(), rb_file_expand_path_internal(), rb_file_open_internal(), rb_file_s_basename(), rb_flt_rationalize(), rb_flt_rationalize_with_prec(), rb_gzfile_set_comment(), rb_gzfile_set_orig_name(), rb_io_each_byte(), rb_io_each_codepoint(), rb_io_extract_encoding_option(), rb_io_extract_modeenc(), rb_io_getline_1(), rb_io_getline_fast(), rb_io_modestr_fmode(), rb_mod_ancestors(), rb_mod_const_defined(), rb_mod_const_get(), rb_mod_include_p(), rb_mod_included_modules(), rb_objspace_call_finalizer(), rb_path_check(), rb_path_to_class(), rb_push_glob(), rb_reg_adjust_startpos(), rb_reg_check_preprocess(), rb_reg_expr_str(), rb_reg_preprocess_dregexp(), rb_reg_regsub(), rb_scan_args(), rb_str_cat(), rb_str_chomp_bang(), rb_str_coderange_scan_restartable(), rb_str_dump(), rb_str_end_with(), rb_str_format(), rb_str_inspect(), rb_str_justify(), rb_str_reverse(), rb_str_scrub(), rb_str_splice(), rb_str_sub_bang(), rb_str_subpos(), rb_str_sum(), rb_str_to_dbl(), rb_str_to_inum(), rb_vmdebug_stack_dump_raw(), rb_w32_cmdvector(), rb_w32_getcwd(), rb_w32_strerror(), rb_w32_system_tmpdir(), read_escaped_byte(), read_internal_call(), regulate_path(), reinit(), remove_backslashes(), remove_from_join_list(), reset_hash_type(), rgengc_rememberset_mark(), rmext(), rollback_ensure_stack(), rsock_inspect_sockaddr(), ruby_brace_expand(), ruby_enc_find_basename(), ruby_enc_find_extname(), ruby_init_loadpath_safe(), ruby_qsort(), scan_env_add_mem_entry(), scan_unsigned_hexadecimal_number(), scan_unsigned_octal_number(), set_bm_skip(), set_iconv(), setup_tree(), skipprefixroot(), slow_search(), slow_search_backward(), str2big_karatsuba(), str2big_normal(), str2big_poweroftwo(), str_byte_substr(), str_end_cmp(), str_end_hash(), str_node_split_last_char(), str_nth(), str_nth_len(), str_offset(), str_strlen(), strio_free(), strio_getc(), strio_getline(), strio_mark(), strio_memsize(), strio_set_pos(), strio_ungetc(), strscan_aref(), strscan_bol_p(), strscan_concat(), strscan_do_scan(), strscan_eos_p(), strscan_free(), strscan_get_byte(), strscan_get_charpos(), strscan_get_pos(), strscan_get_string(), strscan_getch(), strscan_initialize(), strscan_inspect(), strscan_mark(), strscan_matched(), strscan_matched_p(), strscan_matched_size(), strscan_memsize(), strscan_peek(), strscan_post_match(), strscan_pre_match(), strscan_reset(), strscan_rest(), strscan_rest_p(), strscan_rest_size(), strscan_s_allocate(), strscan_set_pos(), strscan_set_string(), strscan_terminate(), strscan_unscan(), strtol(), stub_sysinit(), swallow(), thread_join_sleep(), time_mdump(), time_mload(), time_strftime(), to_ascii(), token_info_get_column(), token_info_has_nonspaces(), transcode_restartable0(), translate_char(), translate_wchar(), type_cclass_hash(), unescape_escaped_nonascii(), unescape_unicode_bmp(), unescape_unicode_list(), unicode_to_jis_common2(), unset_addr_list_add(), unset_addr_list_init(), update_char_offset(), update_string_node_case_fold(), val2variant_ptr(), vm_make_env_object(), VpMemAlloc(), VpMemRealloc(), w32_spawn(), w_float(), winnt_stat(), wstati64(), yielder_mark(), and zlib_mem_alloc().
|
static |
|
static |
|
static |
Definition at line 904 of file crypt.c.
Referenced by check_exec_redirect(), init_des(), rb_io_open(), rb_io_s_sysopen(), rb_open_file(), rb_scan_open_args(), rb_sysopen(), rb_tmp_class_path(), and run_exec_open().
|
static |
long salt = 0 |
Definition at line 507 of file crypt.c.
Referenced by ossl_cipher_pkcs5_keyivgen().
tp |
Definition at line 311 of file crypt.c.
Referenced by date_strftime_with_tmx(), ole_invoke2(), rb_str_rstrip_bang(), rb_strftime_with_timespec(), rb_tracepoint_disable(), rb_tracepoint_enable(), rb_tracepoint_enabled_p(), tp_alloc(), tp_call_trace(), tp_mark(), tpptr(), tracepoint_disable_m(), tracepoint_enable_m(), tracepoint_inspect(), and tracepoint_new().