Nist
怎麼做的||來用於加密文本來表示連接?
在RFC5647中,NIST SP 800-38D等
||
用於表示連接。那是怎麼來的?在大多數程式語言中
||
,代表“或”並+
表示連接,而加密文本只是將其混合在一起的事實似乎很容易被抓住。
起源是集合論而不是程式語言。在密碼學的背景下,我可以描述一個集合 $$ x_1 \parallel x_2 \parallel \dots \parallel x_n $$ 作為由描述的系列的串聯 $$ \parallel_{i=1}^n x_i. $$ 此外,值得注意的是,
+
對於數學家來說,它會暗示它是一個可交換的,這取決於集合(因為我們可以有一組函式),這可能不是真的。
一些語言,如PL/I和Oracle 數據庫 SQL確實
||
用於字元串連接。一個原因
+
可能是在談論基本密碼學時可能會令人困惑,因為涉及到很多數學。‘OR’ 的數學符號將是反向插入符號 $ \lor $ 唯一的“或”,也就是眾所周知的“異或”,是一個帶圓圈的加號 $ \oplus $ .但我不認為使用
||
字元串連接有特定的原因。如果有的話,我會假設有人很早就使用過它,然後它已經習慣了,直到它成為密碼學的標準。