<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <cite xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC 5116</anchor> - An Interface and Algorithms for Authenticated Encryption</cite>, <time>2020-03-09 11:28:31 +09:00</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc5116#section-5.1">https://tools.ietf.org/html/rfc5116#section-5.1</anchor-external></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <code>AEAD_AES_128_GCM</code>
(<var><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>鍵</anchor><rt xmlns="http://www.w3.org/1999/xhtml">key</rt></rubyb></var>,
<var><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">nonce</anchor></var>,
<var><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>平文</anchor><rt xmlns="http://www.w3.org/1999/xhtml">plaintext</rt></rubyb></var>,
<var><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">関連付けされたデータ<rt xmlns="http://www.w3.org/1999/xhtml">associated data</rt></rubyb></var>)</p><figure class="steps"><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> 
<var><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">暗号文<rt xmlns="http://www.w3.org/1999/xhtml">ciphertext</rt></rubyb></var>と<var><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">認証タグ<rt xmlns="http://www.w3.org/1999/xhtml">authentication tag</rt></rubyb></var>を、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GCM</anchor> <rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">暗号化操作<rt xmlns="http://www.w3.org/1999/xhtml">encryption operation</rt></rubyb>を実行した結果に設定します。<figure class="list members"><dl><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">block cipher</anchor></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">AES-128</anchor></dd><dt><var>key</var></dt><dd><var>鍵</var></dd><dt><var>nonce</var></dt><dd><var>nonce</var></dd><dt><var>plaintext</var></dt><dd><var>平文</var></dd><dt><var>associated data</var></dt><dd><var>関連付けされたデータ</var></dd></dl></figure></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Assert</anchor>: <var>認証タグ</var>は128ビットです。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> 
<var>認証タグ</var>を、
<var>暗号文</var>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">末尾に追加</anchor>します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <var>暗号文</var>の長さ = <var>平文</var>の長さ + 16<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイト</anchor>です。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <var>暗号文</var>を返します。</li></ol></figure><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><figure xmlns="http://www.w3.org/1999/xhtml" class="math"><p><var>K_LEN</var> = 16 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイト</anchor></p><p><var>P_MAX</var> = 2<sup>36</sup> - 31 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイト</anchor></p><p><var>A_MAX</var> = 2<sup>61</sup> - 1 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイト</anchor></p><p><var>N_MIN</var> = 12 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイト</anchor></p><p><var>N_MAX</var> = 12 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイト</anchor></p><p><var>C_MAX</var> = 2{SUP[36]] - 15 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイト</anchor></p></figure></comment-p></body></html>