# mnd语法

mnd文件由两个部分组成:文件头和文件体

# 文件头

文件头以固定行MND UTF-8开头,后接LF(\n)

其下的每一行作为描述信息出现,都以LF结尾,用不带空格的键值对的形式存储,以第一个出现的半角冒号为准划分键值对,如果没有出现冒号则该行不起任何作用

除IV(初始向量)是必需的以外,其余的描述信息都是可选的,但不可丢弃任意一行

当描述信息结束时,在最后一行的LF后再追加一个LF,表示文件头结束

如(以下示例中将\n以换行形式表示):

MND UTF-8
Author:Mliybs
IV:XBTKmkpbbmX3vN3M
(文件头结束)

整个文件头将作为AES-GCM解密时所使用的附加信息,以UTF-8格式进行验证

(HTTP头:?WDNMD)

# 文件体

文件体为AES-GCM加密过后的密文,直接跟在文件头后,直到文件结尾

# AES-GCM参数

密钥长度为256位,共32字节

向量长度为96位,共12字节

附加信息长度为128位,共16位