密钥生成
在密码学领域,密钥生成是指生成密钥的过程。密钥用于机密和解密数据。生成密钥的程序或者设备叫密鑰生成器(key generator)。 软件层次的生成现代密码学系统包括对称加密算法(例如AES)和公开密钥算法(例如:RSA、DSA和ECDSA)。对称加密算法使用一个单一的共享的密钥,保证该密钥的安全性才能保证数据的安全性。公钥算法使用公钥和私钥,公钥是能交付给任何人(往往通过数字证书的方式交付)。通訊雙方通过公钥加密数据,只有私钥的持有者才能解密该数据。 由于公开密钥算法往往慢于对称加密算法,现代的系统,例如 TLS 和 SSH 是结合使用两者:一方收到另一方的公钥,并加密一小块的数据(该数据可以是被稱為對話鍵的对称密钥)。之后的对话均使用对称加密算法进行数据加密,加密速度比之前快。 计算机密码学常常使用整数为密钥。在一些情况里,密钥是通过随机数生成器(random number generator, RNG)或伪随机数生成器(pseudorandom number generator, PRNG)随机生成的。伪随机数生成器产生的数据在分析时看起来是随机的。 经典的密码系统会在通信的一端产生两个具有识别性的密钥,然后以某种方式运输的其中一个密钥到通信的另一端。 最简单的破解數據而无需解密的方式是 暴力攻击 ——尝试每一个数字,直到達到密钥的最大長度。因此,使用一个足够长的 密鑰长度是十分重要的。长密钥使破解所需要的时间更長。目前推薦的密鑰长度是对称密钥算法至少128位元,橢圓曲線密碼學至少224位元,RSA至少2048位元,這樣的組合被認為在2030年以前是安全的[1]。 参考文献
|
Index:
pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve