12.2-BO'lim SHA-512
U yerda bor ikki mikserlar, uch funktsiyalari, va bir nechta operatorlar. Har biri mikser birlashtiradi ikki funktsiyalari. ning tavsifi funktsiyalari va operatorlari quyidagicha:
Ko'pchilik funktsiyasi, biz uni chaqirganimizdek, bitli funktsiyadir. Buning uchun uchta to'g'ri keladi - sponding uchta buferdagi bitlar (A, B, va C) va hisoblaydi
(A j VA B j ) ⊕ (B j VA C j ) ⊕ (C j VA A j )
natijasida bit hisoblanadi ko'pchilik ning uch bitlar. Agar ikki yoki uch bitlar bor 1 lar, natija - ing bit 1; aks holda 0 ga teng.
Shartli funktsiya, kabi biz qo'ng'iroq qiling bu, hisoblanadi shuningdek a bit bo'yicha funktsiyasi. Bu oladi uch kor- javob berish bitlar uchda buferlar (E, F, va G) va hisoblab chiqadi
(E j VA F j ) ⊕ (YO'Q E j VA G j )
natijada olingan bit mantiqdir “Agar E j keyin F j ; boshqa G j ”.
Rotate funktsiyasi, biz uni chaqirganimizdek, bir xilning uchta nusxasini o'ngga aylantiradi bufer (A yoki E) va amal qiladi eksklyuziv - yoki operatsiya ustida natijalar.
Aylantirish (A): RotR 28 (A) ⊕ RotR 34 (A) ⊕ RotR 29 (A) Aylantirish (E): RotR 28 (E) ⊕ RotR 34 (E) ⊕ RotR 29 (E)
i (x) o'ngga aylantirish funktsiyasi biz so'zda ishlatganimiz bilan bir xil - kengaytirish jarayoni. U o'z argumentini o'ngga aylantiradi i bit; bu aslida dumaloq siljish - to'g'ri operatsiya.
Jarayonda ishlatiladigan qo'shish operatori qo'shish moduli 2 64 dir . Bu shuni anglatadiki natijasi ikkita qo'shish yoki ko'proq buferlar har doim bo'ladi 64 bitli so'z.
0 dan K 79 gacha bo'lgan 80 ta konstanta mavjud bo'lib , har biri 64 bitdan iborat bo'lib, 12.3-jadvalda ko'rsatilganidek, oltita konstantada. kasr formati (ketma-ket to'rtta). Sakkizta digest uchun dastlabki qiymatlarga o'xshash buferlar, bu qiymatlar dan hisoblanadi birinchi 80 tub son (2, 3, …, 409).
12.3-jadval Sakson konstanta uchun ishlatiladi sakson raund SHA-512 da
428A2F98D728AE22
|
7137449123EF65CD
|
B5C0FBCFEC4D3B2F
|
E9B5DBA58189DBBC
|
3956C25BF348B538
|
59F111F1B605D019
|
923F82A4AF194F9B
|
AB1C5ED5DA6D8118
|
D807AA98A3030242
|
12835B0145706FBE
|
243185BE4EE4B28C
|
550C7DC3D5FFB4E2
|
72BE5D74F27B896F
|
80DEB1FE3B1696B1
|
9BDC06A725C71235
|
C19BF174CF692694
|
E49B69C19EF14AD2
|
EFBE4786384F25E3
|
0FC19DC68B8CD5B5
|
240CA1CC77AC9C65
|
2DE92C6F592B0275
|
4A7484AA6EA6E483
|
5CB0A9DCBD41FBD4
|
76F988DA831153B5
|
983E5152EE66DFAB
|
A831C66D2DB43210
|
B00327C898FB213F
|
BF597FC7BEEF0EE4
|
C6E00BF33DA88FC2
|
D5A79147930AA725
|
06CA6351E003826F
|
142929670A0E6E70
|
27B70A8546D22FFC
|
2E1B21385C26C926
|
4D2C6DFC5AC42AED
|
53380D139D95B3DF
|
650A73548BAF63DE
|
766A0ABB3C77B2A8
|
81C2C92E47EDAEE6
|
92722C851482353B
|
A2BFE8A14CF10364
|
A81A664BBC423001
|
C24B8B70D0F89791
|
C76C51A30654BE30
|
D192E819D6EF5218
|
D69906245565A910
|
F40E35855771202A
|
106AA07032BBD1B8
|
19A4C116B8D2D0C8
|
1E376C085141AB53
|
2748774CDF8EEB99
|
34B0BCB5E19B48A8
|
391C0CB3C5C95A63
|
4ED8AA4AE3418ACB
|
5B9CCA4F7763E373
|
682E6FF3D6B2B8A3
|
748F82EE5DEFB2FC
|
78A5636F43172F60
|
84C87814A1F0AB72
|
8CC702081A6439EC
|
90BEFFFA23631E28
|
A4506CEBDE82BDE9
|
BEF9A3F7B2C67915
|
C67178F2E372532B
|
CA273ECEEA26619C
|
D186B8C721C0C207
|
EADA7DD6CDE0EB1E
|
F57D4F7FEE6ED178
|
06F067AA72176FBA
|
0A637DC5A2C898A6
|
113F9804BEF90DAE
|
1B710B35131C471B
|
28DB77F523047D84
|
32CAAB7B40C72493
|
3C9EBE0A15C9BEBC
|
431D67C49C100D4C
|
4CC5D4BECB3E42B6
|
4597F299CFC657E2
|
5FCB6FAB3AD6FAEC
|
6C44198C4A475817
|
Har biri qiymat hisoblanadi kasr qismi ning kub ildiz ning mos keladigan asosiy raqam uni ikkilik tizimga aylantirgandan so'ng va faqat birinchi 64 bitni saqlang. Masalan, 80 tub 409, kub ildizi (409) 1/3 = 7,42291412044. Buni aylantirish kasr qismida faqat 64 bit bo'lgan sonni binarga o'tkazamiz, biz olamiz
(111.0110 1100 0100 0100. . . 0111) 2 → (7.6C44198C4A475817) 16
SHA-512 saqlaydi kasr qismi, ( 6C44198C4A475817) 16 , kabi imzosiz butun son.
Misol 12.7
Biz murojaat qiling Ko'pchilik funktsiyasi yoqilgan buferlar A, B, va C. Agar eng chapda o'n oltilik raqamlar ning bular buferlar bor 0x7, 0xA, va 0xE, mos ravishda, nima hisoblanadi eng chap tomonda raqam ning natija?
Yechim
Ikkilik tizimdagi raqamlar 0111, 1010 va 1110.
birinchi bitlar bor 0, 1, va 1. ko'pchilik hisoblanadi 1. Biz mumkin shuningdek isbotlash bu foydalanish ta'rif Ko'pchilik funktsiyasi:
(0 VA 1) ⊕ (1 VA 1) ⊕ (1 VA 0) = 0 ⊕ 1 ⊕ 0 = 1
Ikkinchi bitlar 1, 0 va 1 dir. Ko'pchilik 1.
Uchinchi bitlar 1, 1 va 1 dir. Ko'pchilik 1.
to'rtinchi bitlar bor 1, 0, va 0. ko'pchilik hisoblanadi 0. natija 1110 yoki o'n oltilik tizimda 0xE.
Misol 12.8
Biz murojaat qiling Shartli funktsiyasi yoqilgan E, F, va G buferlar. Agar eng chapda o'n oltilik raqamlar ning bular buferlar bor 0x9, 0xA, va 0xF mos ravishda, nima hisoblanadi eng chapda raqam ning natija?
Yechim
Ikkilik tizimdagi raqamlar 1001, 1010 va 1111.
birinchi bitlar bor 1, 1, va 1. beri E 1 = 1, natija hisoblanadi F 1 , qaysi hisoblanadi 1. Biz mumkin shuningdek foydalanish ta'rif Natijani isbotlash uchun shart funktsiyasi:
(1 VA 1) ⊕ (YO'Q 1 VA 1) = 1 ⊕ 0 = 1
ikkinchi bitlar bor 0, 0, va 1. beri E 2 _ 0, natija hisoblanadi G 2 , qaysi hisoblanadi 1.
uchinchi bitlar 0, 1 va 1. E 3 dan boshlab 0, natija G 3 bo'lib, bu 1 hisoblanadi.
To'rtinchi bitlar 1, 0 va 1. E 4 1 bo'lgani uchun natija F 4 , ya'ni 0 ga teng. natija 1110 yoki o'n oltilik tizimda 0xE.
Tahlil
512 bitli xabar dayjestiga ega SHA-512 barcha hujumlarga chidamli bo'lishi kutilmoqda, to'qnashuv hujumlari, shu jumladan. Ushbu versiyaning dizayni yaxshilangani da'vo qilingan oldingi versiyalarga qaraganda samaraliroq va xavfsizroq qiladi. Biroq, ko'proq Ushbu da'voni tasdiqlash uchun tadqiqot va sinov talab qilinadi.
12.3 WHIRLPOOL
Whirlpool hisoblanadi ishlab chiqilgan tomonidan Vinsent Rijmen va Paulo S. L. M. Barreto. Bu hisoblanadi ma'qullangan tomonidan Yangi yevropalik Sxemalar uchun Imzolar, halollik, va Shifrlash (NESSIE). Whirlpool - bu Miyaguchi-Preneelga asoslangan takrorlangan kriptografik xesh funksiyasi. siqish funktsiyasi o'rniga simmetrik kalit blokli shifrdan foydalanadigan sxema. Blok shifr bu maqsad uchun moslashtirilgan o'zgartirilgan AES shifridir. Rasm 12.12 ko'rsatilgan Whirlpool hash funktsiyasi.
Rasm 12.12 Whirlpool hash funktsiyasi
Asl xabar
|
To'ldirish
|
Xabar uzunligi
|
H 0 H
Hammasi 0
Xabar hazm qilish
Tayyorgarlik
Xash algoritmini boshlashdan oldin xabarni qayta ishlashga tayyorlash kerak. Whirlpool talab qiladi bu uzunligi ning original xabar bo'l Ozroq dan 2 256 bitlar. A tartibsizlik adaçayı ehtiyojlari uchun bo'l to'ldirilgan oldin bo'lish qayta ishlangan. to'ldirish hisoblanadi a yagona 1-bit ergashdi to'ldirish uzunligini toq karrali qilish uchun zarur bo'lgan 0-bit raqamlari bilan 256 bitdan iborat. To'ldirilgandan so'ng, boshlang'ich uzunligini aniqlash uchun 256 bitli blok qo'shiladi. nal xabar. Ushbu blok davolanadi imzosiz raqam sifatida.
Uzunlik maydonini to'ldirgandan va qo'shgandan so'ng, kengaytirilgan xabar hajmi teng bo'ladi 256 bitning ko'pligi yoki 512 bitning ko'pligi. Whirlpool 512 bitdan iborat dayjestni yaratadi bir nechta 512 bitli blokli xabardan. 512-bitli dayjest H 0 barcha 0 larga ishga tushiriladi. Bu qiymat birinchi blokni shifrlash uchun shifrlash kalitiga aylanadi. Shifrlangan matn natijasi - Har bir blokni shifrlashdan keyin keyingi blok uchun shifrlash kalitiga aylanadi eksklyuziv-ored bilan oldingi shifr kalit va Oddiy matn blok. xabar hazm qilish hisoblanadi oxirgi 512-bit dan keyin shifrlangan matn oxirgi eksklyuziv yoki operatsiya.
Dostları ilə paylaş: |