# Information security basics study notes **Repository Path**: plasma/Information-security-basics-study-notes ## Basic Information - **Project Name**: Information security basics study notes - **Description**: 信息安全基础学习笔记 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-04-27 - **Last Updated**: 2022-06-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Information security basics study notes #### 介绍 信息安全基础学习笔记 #### 环境说明 - Windows 10 1809版本 - VSCommunity 2019--16.4.5 - ReSharper UItimate 2019.3.2 - C# #### 双轨加密 1. 目的 将明文进行简单的加密并对该加密进行翻译(解密),所有明文、密文都保存在文件中。 2. 加密原理 将明文中的奇数位和偶数位分别存放,对明文排序混乱,可实现无法直接读取明文内容。 3. 文本预处理 原因: 因为原文是正常书写的自然语言(英语),但是计算机语言中有很多字符是自然语言无法书写的,所以对这些无用的字符进行消去处理,方便对内容的加密处理。 方法: 对从文件中读取的内容的每个字符进行判断,将ASCII码在33和126以外的字符舍弃。 #### 钥控加密 1. 目的 对给定的明文进行加密,比双轨加密更加复杂,破解难度更大。 2. 算法原理 明文排成矩阵,密钥写在矩阵的上边,按密钥字母在字母表中排序把矩阵按列写出即为密文。 3. 算法设计 加密函数: - 输入参数为①明文内容②密钥 - 返回内容为加密后的密文 1、对密钥处理 - 对密钥除重,得到无重复字符的密钥 - 按照字母先后顺序得到 一个序列数组(用于密文的生成) 2、对内容加密 - 按照密钥长度对明文内容进行分组(切片) - 按照密钥序列数组取值,生成密文 解密函数: - 输入参数为①密文内容②密钥 - 返回内容为解密后的明文 1、对密钥处理 - 对密钥进行解析,获取反序列数组 - 根据密钥反序列数组重排加密内容 2、对内容解密 - 根据已重排的加密内容,还原明文分组内容(恢复切片) - 重组分片内容,得到解密后的明文