Kod ncogo k r len(AES) . ye simetri sirili algorisimu ye. AES ye izini sariya ye kabini sisan bawo a bɛ sira Di 128 bit, 192 bit ani 256 bits sirili ma. Simetriki sirili bɛ teliya n’i y’a suma ni asimɛtiri sirili ye wa u bɛ baara kɛ ni sistɛmuw ye i n’a fɔ kunnafonidilan sitɛmu. Ninnu ye ɛntɛrinɛti baarakɛminɛn ye min bɛ se ka AES sirili kɛ ani ka sɛbɛnni gansan walima tɔgɔlasɛbɛn suguya o suguya siri.
Baarakɛminɛn in bɛ siricogo ni siricogo caman Di i n’a fɔ ECB, CBC, CTR, CFB ani GCM cogoya. GCM ye bɛ jate ko a lakananen don ka tɛmɛ CBC cogoya kan, wa a bɛ tali kɛ kosɛbɛ a baarakɛcogo la.
Ni aw b’a fɛ ka kunnafoni wɛrɛw sɔrɔ AES sirili kan, aw bɛ se ka taa nin ɲɛfɔli in kɛra AES Encryption kan. Sɛbɛn min bɛ duguma walasa ka donnakow ta ka ɲɛsin kodɔn ni decryption ma.
I ye gundolafɛn nafa o nafa don, walima an bɛ min labɛn, o tɛ mara nin yɔrɔ in kan, nin baarakɛminɛn in bɛ di HTTPS URL fɛ walasa ka a jira ko gundolafɛn si tɛ se ka sonya.
Fɛn kolomaw
- Simetriki (Simetriki) ye Key Algorithm: Key kelen de bɛ kɛ ka encryption ni decryption fila bɛɛ kɛ.
- Bloc Cipher (Bloki Cipher) ye: AES bɛ baara kɛ kunnafonidilanw bloki hakɛ latigɛlenw kan. Bloki hakɛ dantigɛlen ye bitiki 128 ye.
- Key Janya: AES bɛ dɛmɛ don kilisi janya la min ye bitiki 128, 192 ani 256 ye. Ni kilisi janyalen don, a sirili barika ka bon.
- Lakana: AES jate bɛ lakana kosɛbɛ, wa a bɛ kɛ kosɛbɛ lakana sariyaw ni baarakɛminɛn suguya caman na.
AES Encryption sariyaw ni daɲɛw
Walasa ka kodɔn, i b’a fɛ ka sɛbɛnni gansan walima i ka tɔgɔlasɛbɛn sɛbɛn, i b’a fɛ ka min siri. Sisan, i ka bloki cipher mode de encryption sugandi.
AES Encryption (AES Encryption) dɛmɛcogo danfaralenw
AES bɛ siricogo caman di i n’a fɔ ECB, CBC, CTR, OFB, CFB ani GCM cogoya.
-
ECB(Electronic Code Book) ye kodɔncogo nɔgɔman ye wa a tɛ IV wajibiya kodɔncogo la. Donna sɛbɛn jɛlen bɛna tila ka kɛ blokiw ye ani bloki kelen-kelen bɛɛ bɛna siri ni kilisi ye min dira o la sɛbɛnni jɛlen bloki kelenw bɛ siri ka kɛ cipher sɛbɛnni bloki kelenw ye.
-
CBC(Cipher Block Chaining) cogoya ka ɲi kosɛbɛ, wa a ye bloki cipher encryption cogo kɔrɔlen ye. A bɛ IV de wajibiya walasa cikan kelen-kelen bɛɛ ka kɛ fɛn kɛrɛnkɛrɛnnen ye kɔrɔ ye ko sɛbɛnni jɛlenw bloki minnu bɛ ɲɔgɔn na, olu bɛ siri ka kɛ cipher sɛbɛnni blokiw ye minnu tɛ kelen ye. O la, a bɛ kodɔn barikama di ni i y’a suma ni ECB cogoya ye, nka a bɛ sumaya dɔɔnin n’i y’a suma ni ECB cogoya ye. Ni IV si ma don o tuma default bɛna baara kɛ yan CBC cogoya kama ani o bɛ default kɛ zeru-based byte[16].
-
CTR(Counter) CTR cogoya (CM) bɛ wele fana ko jateden dafalen jatebɔcogo (ICM) ani jateden dafalen jatebɔcogo tilalen (SIC) cogoya. Counter-mode bɛ bloki cipher caman tigɛli kɛ ka kɛ stream cipher ye. CTR cogoya ni OFB cogoya bɛ tali kɛ ɲɔgɔn na, nka a bɛ sira di fana random-access property ma decryption waati. CTR cogoya bɛnnen don kosɛbɛ ka baara kɛ ni baarakɛminɛn caman ye, yɔrɔ min na blokiw bɛ se ka siri ɲɔgɔn na.
-
GCM(Galois/Konte Mode) ye baarakɛcogo ye min bɛ kɛ ni simɛtiri-kili bloki cipher cogoya ye min bɛ baara kɛ ni diɲɛ bɛɛ ka hashing ye walasa ka encryption lakika di. GCM jatera ko a lakananen don ka tɛmɛ CBC cogoya kan bawo a kɔnɔ, dantigɛli ni dafalen sɛgɛsɛgɛliw bɛ a kɔnɔ, wa a bɛ baara kɛ kosɛbɛ a ka baarakɛcogo la.
Padding (Padding) ye
AES cogoyaw CBC ni ECB kama, padding bɛ se ka kɛ PKCS5PADDING ani NoPadding ye. Ni PKCS5Padding ye, 16-bayt sɛrɛ bɛna 32-bayt bɔli (16 caya nata) Bɔ.
AES GCM PKCS5Padding ye NoPadding kɔrɔɲɔgɔnma ye bawo GCM ye streaming mode ye min tɛ padding wajibiya. GCM kɔnɔ ciphertext janya bɛ se dɔrɔn i n’a fɔ sɛbɛn jɛlen. O la, nopadding bɛ sugandi ka da a kan.
AES Key Size (Kili Size) ye
AES algorisimu bɛ ni 128-bit bloki hakɛ ye, hali n’i ka kilisi janya ye 256, 192 walima 128 ye. Ni siferi cogoya simetriki bɛ IV de wajibiya, IV janya ka kan ka bɛn sifa bloki hakɛ ma. O la, i ka kan ka baara kɛ ni IV ye tuma bɛɛ min ye bitiki 128 ye (bayt 16) ni AES ye.
AES Gundola-kɔlɔsili
AES bɛ bitiki 128, bitiki 192 ani bitiki 256 di gundola kilisi hakɛ ma walasa ka kodɔn. N’i bɛ bitiki 128 sugandi sirili kama, o tuma gundo kilisi ka kan ka kɛ bitiki 16 janya ye ani bitiki 24 ni 32 ye bitiki 192 ni 256 ye kilisi hakɛ la. Misali la, ni kilisi hakɛ ye 128 ye, o tuma gundo kilisi min bɛ se ka kɛ, o ka kan ka kɛ taamasiyɛn 16 ye i n’a fɔ 16*8=128 bitiki