(let Length_D_LSH == I_to_W{LD mod (2 -> 32)) • Z? (l) Zeros ~Length_D_MSH "Length



#9.3 Опис циклової функції ingW&rd == $eq И <??■«’

SpIttJStringyoJStringWord; String -> StringWord Split_String_ro_SmngWojrd. =

{j: String; sw; SlringWbrd [$='/ sw*s w jw}

Z80: StringR'drd x StrnigWard x 1.. 80 — SfrittgWbrd

Z .StringWord; 1:L..S0|#X=5a#Z=80«

ZS0(X Z, f)e

(let rr == s3 да)) а до г да), ад, Д4)) s ад es z<o в c(f) * (ietA‘O==FF*

(let АЧ = A'(l) • (let A'2^=5’°(A'(2))« (ШХЗ-«Х(3)* (tetA'4=A(4)»

(let F == (X0, Al, A2. АЗ. A4) • if a = 80) then Г

ehe£80(rr2U + l))))})))

XOR_Z; StringWard StringWdrd

VZl_16:Smng-FFo^|#Zl_16 = 16 •

i™_Z(Zl J6XD = Zl_16(0) л

(Vrl7..,80*

XOR^Z(ZIJ 6)0) = S'3(XOR^Z(ZIJ (5XZ - 3) XOR

XO£_Z(Zl_16Xf-B) XOR XOR _Z(Z1_16)(t -14) XOR XOR_Z(Z1J6XM6>)

V jm; SfriHg_Li; : SfringJ^ *

(let Z1_I6 =ж ^>litJStri!tg_tt>_Shdng^ord (stn) •

(let F = Ror^(s?i) •

(

ГО - n - F2 ~ F3 ’ F4)))))))))


JetZ = XOA_Z(Zl„16)» (let A'== £80(F, Z !)• (let ®= позад* (let n ад зад* (let 12 =^адзад* (kt в == ад вад* det Г4==адвад»ДОДАТОК С
(обов’язковий)

МОДУЛЬ ASN.1

Цей додаток містить модуль ASN.1, призначений для спеціалізованих геш-функцій, визначе­них у цьому стандарті.

- ISO/IEC FDIS 10118-3 Proposed ASN.1 Module - Based on ISO/IEC JTC 1/SC 27 N 3340 2002-10-21

DedicatedHashFunctions { iso (1) standard(0) hash-functions(10118) part(3) asnl-module(1) dedicated-hash-functions(0) } DEFINITIONS EXPLICIT TAGS :: = BEGIN - EXPORTS All; - — IMPORTS None; — OID ::= OBJECT IDENTIFIER - alias — Synonyms — id-dhf OID ::= { iso(1) standard(0) hash-functions(10118) part3(3) algorithm(0) } — Assignments — id-dhf-ripemdlOO OID ::= { id-dhf ripemdl60(49) }

id-dhf-ripemdl28 OID ::= { id-dhf ripemdl28(50) )

id-dhf-whirlpool OID :.* = { id-dhf whirlpool (55) }

— note: assign any new OIDs above 55 — FIPS 180-1 and FIPS 180-2 Secure Hash Algorithm — id-shal OID ::= { iso(1) identified-organization(3) oiw(14) secsig(3) algorithm(2) 26 } sha2Algorithm OID ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) nistAlgorithm(4) hashAlgs(2) } id-sha256 OID { sha2Algorithm sha256(1) }

id-sha384 OID { sha2Algorithm sha384(2) }

id-sha512 OID ::= { sha2Algorithm sha512(3) }

HashFunctions :: = SEQUENCE { algorithm ALGORITHM.&id({HashFunctionAlgs})t parameters ALGORITHM.&Type({HashFunctionAlgs}{@algorithm}) OPTIONAL } HashFunctionAlgs ALGORITHM { dhf-ripemdl60 | dhf-ripemdl28 | dhf-whirlpool I SHA-Algorithms, ... — Expect additional algorithms —

dhf-ripemdl60 ALGORITHM ::= {

OID id-dhf-ripemdl60 PARMS NullParms } dhf-ripemdl28 ALGORITHM ::= { OID id-dhf-ripemd!28 PARMS NullParms }

dhf-whirlpool ALGORITHM :: = {

OID id-dhf-whirlpool FARMS NullParms } SHA-Algorithms ALGORITHM ::= {

- The parameters associated with id-shal, id-sha256, id-sha3 8 4, — - and id-sha512 should be omitted, but if present, shall have — — a value of ASN.l type NULL. This is to align with the original — - NIST definitions (which did not have parameters) and certain — - exisiting implementations (which have them). For these SHA — — algorithms, implementations shall accept Algorithmidentifier — — values with NULL parameters and with the optional parameters — — component not present. — sha-1 I sha-256 I sha-384 I sha-512, ... — Expect additional algorithms — } sha-1 ALGORITHM ::= { OID id-shal FARMS NullParms } sha-256 ALGORITHM ::= { OID id-sha256 PARMS NullParms ) sha-384 ALGORITHM ::= { OID id-sha384 PARMS NullParms } sha-512 ALGORITHM { OID id-sha512 PARMS NullParms } NullParms ::= NULL

- Cryptographic algorithm identification — ALGORITHM CLASS { &id OBJECT IDENTIFIER UNIQUE, SType OPTIONAL } WITH SYNTAX { OID &id [PARMS &Type] ) END - DedicatedHashFunctions

-БІБЛІОГРАФІЯ

  1. J. М. Spivey, The Z Notation — A Reference Manual, Prentice-Hall, 1992 (2nd edition)

  2. U. S. Department of Commerce/National Institute of Standards and Technology, Secure Hash Standard, Federal Information Processing Standards Publication (FIPS PUB) 180-2, 1st August 2002

  3. Bosselaers, H. Dobbertin and B. Preneel, The new cryptographic hash function RIPEMD-160, Dr. Dobbs, Vol. 22 No. 1, pp. 24—28, January 1997

  4. P. S. L. M. Barreto and V. Rijmen, The WHIRLPOOL Hashing Function, First open NESS IE Workshop, Leuven, 13—14 November 2000.

Національна примітка

  1. Дж. M. Співей, Z-нотація — Довідник, Прентіс —Хол, 1992, 2-ге видання

  2. Департамент торгівлі Сполучених Штатів/Національний інститут Стандартів та технологій, Стандарт безпечно­го хешування, Публікація Федеральних стандартів з оброблення інформації (FIPS PUB) 180-2, 1-ше серпня 2002

З Босселаєрс, X. Доббертін та Б. Пренейл, Нова криптографічна геш-функція R1PEND-160, д-р Доббс, том 22, № 1, стор. 24 — 28, січень 1997

  1. П. С. Л. М. Баррето та В. Ріймен, Геш-функція WHIRLPOOL, Перший відкритий Робочий семінар NESSIE, Лувен, 13 — 14 листопада 2000.

УКНД 35.040

Ключові слова: геш-функція, геш-код, рядок даних, початкове значення, циклова функція, модель спеціалізованої геш-функції, методи заповнювання.

Редактор В. Кириленко
Технічний редактор О. Марченко
Коректор Г. Мякшина
Верстальник Ю. Боровик

Підписано до друку 12.12.2006. Формат 60 х 84 1/8.

Ум. друк. арк. 10,23. Зам. Ціна договірна.

Відділ редагування нормативних документів ДП «УкрНДНЦ»
03115, м. Київ, вул. Святошинська, 2