שאַדאָווסאָקקס דאַקיומענטיישאַן

AEAD

AEAD שטייט פֿאַר Authenticated Encryption with Associated Data. AEAD סיפערס סיימאַלטייניאַסלי צושטעלן קאַנפאַדענשיאַלאַטי, אָרנטלעכקייַט און אָטאַנטיסיטי. זיי האָבן ויסגעצייכנט פאָרשטעלונג און מאַכט עפעקטיווקייַט אויף מאָדערן ייַזנוואַרג. יוזערז זאָל נוצן AEAD סיפערס ווען מעגלעך.

די פאלגענדע AEAD סיפערס זענען רעקאַמענדיד. געהאָרכיק שאַדאָווסאָקקס ימפּלאַמאַנץ מוזן שטיצן AEAD_CHACHA20_POLY1305. ימפּלאַמענטיישאַנז פֿאַר דעוויסעס מיט ייַזנוואַרג אַעס אַקסעלעריישאַן זאָל אויך ינסטרומענט AEAD_AES_128_GCM און AEAD_AES_256_GCM.

 

 

 

נאָמען

אַליאַס

שליסל גרייס

זאַלץ גרייס

נאַנס גרייס

קוויטל גרייס

AEAD_CHACHA20_POLY1305

chacha20-ietf-poly1305

32

32

12

16

AEAD_AES_256_GCM

אַעס-256-גקם

32

32

12

16

AEAD_AES_128_GCM

אַעס-128-גקם

16

16

12

16

ביטע אָפּשיקן צו IANA AEAD רעגיסטרי פֿאַר נאַמינג סכעמע און באַשרייַבונג.

שליסל דעריוואַטיאָן

דער בעל שליסל קענען זיין אַרייַנשרייַב גלייַך פֿון דער באַניצער אָדער דזשענערייטאַד פֿון אַ פּאַראָל.

HKDF_SHA1 איז אַ פֿונקציע וואָס נעמט אַ סוד שליסל, אַ ניט-סוד זאַלץ, אַ אינפֿאָרמאַציע שטריקל, און טראגט אַ סובקיי וואָס איז קריפּטאָגראַפיקאַללי שטאַרק אפילו אויב דער אַרייַנשרייַב סוד שליסל איז שוואַך.

HKDF_SHA1 (שליסל, זאַלץ, אינפֿאָרמאַציע) => סובקיי

די אינפֿאָרמאַציע שטריקל ביינדז די דזשענערייטאַד סובקיי צו אַ ספּעציפיש אַפּלאַקיישאַן קאָנטעקסט. אין אונדזער פאַל, עס מוזן זיין די שטריקל "סס-סובקיי" אָן קוואָטעס.

מיר באַקומען אַ פּער-סעסיע סובקיי פֿון אַ פאַר-שערד בעל שליסל ניצן HKDF_SHA1. זאַלץ מוזן זיין יינציק דורך די גאנצע לעבן פון די פאַר-שערד בעל שליסל.

אָטענטאַקייטאַד ענקריפּשאַן / דעקריפּטיאָן

AE_encrypt איז אַ פֿונקציע וואָס נעמט אַ סוד שליסל, אַ ניט-סוד נאָנס, אַ אָנזאָג, און פּראָדוצירן סייפער טעקסט און אַ אָטענטאַקיישאַן קוויטל. נאַנס מוזן זיין יינציק פֿאַר אַ געגעבן שליסל אין יעדער ינוואָקאַטיאָן.

AE_encrypt (שליסל, נאַנסע, אָנזאָג) => (סיפערטעקסט, קוויטל)

 

AE_decrypt איז אַ פֿונקציע וואָס נעמט אַ סוד שליסל, ניט-סוד נאָנס, סיפערטעקסט, אַן אָטענטאַקיישאַן קוויטל און פּראָדוצירן אַן אָריגינעל אָנזאָג. אויב איינער פון די אַרייַנשרייַב איז טאַמפּערד מיט, די דעקריפּטיאָן וועט פאַרלאָזן.

AE_decrypt (שליסל, נאַנסע, סיפערטעקסט, קוויטל) => אָנזאָג

טקפּ

אַן AEAD ינקריפּטיד TCP טייַך סטאַרץ מיט אַ ראַנדאַמלי דזשענערייטאַד זאַלץ צו באַקומען די פּער-סעסיע סובקיי, נאכגעגאנגען דורך קיין נומער פון ינקריפּטיד טשאַנגקס. יעדער שטיק האט די פאלגענדע סטרוקטור:

[ענקריפּטיד פּיילאָוד לענג] [לענג טאַג] [ענקריפּטיד פּיילאָוד] [פּייַלאָאַד קוויטל]

 

פּיילאָוד לענג איז אַ 2-ביטע גרויס-ענדיאַן אַנסיינד ינטאַדזשער קאַפּט ביי 0x3FFF. די העכער צוויי ביטן זענען רעזערווירט און מוזן זיין שטעלן צו נול. פּיילאָוד איז דעריבער לימיטעד צו 16 * 1024 - 1 ביטעס.

דער ערשטער אַעאַד ענקריפּט / דעקריפּט אָפּעראַציע ניצט אַ קאַונטינג נאַנסע סטאַרטינג פון 0. נאָך יעדער ענקריפּט / דעקריפּט אָפּעראַציע, די נאַנסע איז ינקראַמאַנטיד דורך איינער ווי אויב עס איז געווען אַ אַנסיינד קליין-ענדיאַן ינטאַדזשער. באַמערקונג אַז יעדער טקפּ פּייַדע ינוואַלווז צוויי AEAD ענקריפּט / דעקריפּט אַפּעריישאַנז: איינער פֿאַר די פּיילאָוד לענג און איינער פֿאַר די פּיילאָוד. דעריבער יעדער שטיק ינקריסיז די נאַנס צוויי מאָל.

טקפּ

אַן AEAD ינקריפּטיד TCP טייַך סטאַרץ מיט אַ ראַנדאַמלי דזשענערייטאַד זאַלץ צו באַקומען די פּער-סעסיע סובקיי, נאכגעגאנגען דורך קיין נומער פון ינקריפּטיד טשאַנגקס. יעדער שטיק האט די פאלגענדע סטרוקטור:

[ענקריפּטיד פּיילאָוד לענג] [לענג טאַג] [ענקריפּטיד פּיילאָוד] [פּייַלאָאַד קוויטל]

 

פּיילאָוד לענג איז אַ 2-ביטע גרויס-ענדיאַן אַנסיינד ינטאַדזשער קאַפּט ביי 0x3FFF. די העכער צוויי ביטן זענען רעזערווירט און מוזן זיין שטעלן צו נול. פּיילאָוד איז דעריבער לימיטעד צו 16 * 1024 - 1 ביטעס.

דער ערשטער אַעאַד ענקריפּט / דעקריפּט אָפּעראַציע ניצט אַ קאַונטינג נאַנסע סטאַרטינג פון 0. נאָך יעדער ענקריפּט / דעקריפּט אָפּעראַציע, די נאַנסע איז ינקראַמאַנטיד דורך איינער ווי אויב עס איז געווען אַ אַנסיינד קליין-ענדיאַן ינטאַדזשער. באַמערקונג אַז יעדער טקפּ פּייַדע ינוואַלווז צוויי AEAD ענקריפּט / דעקריפּט אַפּעריישאַנז: איינער פֿאַר די פּיילאָוד לענג און איינער פֿאַר די פּיילאָוד. דעריבער יעדער שטיק ינקריסיז די נאַנס צוויי מאָל.

אָנהייב דיין 5-טאָג פריי פּראָצעס