密码学中的数学基础:二进制与数论入门
1. 二进制的转换与运算
在日常使用中,人们更习惯十进制数,但在计算机和密码学领域,二进制数的使用十分广泛。因此,二进制与十进制之间的转换是一项基本技能。
1.1 二进制转十进制
将二进制数转换为十进制数的一种常见方法是利用二进制数中每个位置对应2的幂次方这一特性。例如,对于二进制数10111001,我们可以将其按位展开为2的幂次方形式:
| 2的幂次方 | (2^7) | (2^6) | (2^5) | (2^4) | (2^3) | (2^2) | (2^1) | (2^0) |
| — | — | — | — | — | — | — | — | — |
| 对应值 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| 二进制数 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 |
| 实际值 | 128 | 0 | 32 | 16 | 8 | 0 | 0 | 1 |
将这些实际值相加,即(128 + 32 + 16 + 8 + 1 = 185),就得到了对应的十进制数。这种方法虽然可能不是最快的,但易于理解。
1.2 二进制运算
在密码学中,主要涉及三种二进制运算:与(AND)、或(OR)和异或(XOR)。下面以两个4位二进制数1101和1100为例进行说明。
- 与(AND)运算 :只有当两个对应位都为1时,结果位才为1,否则为0。
- 或(OR)运算 :只要两个对应位中有一个为1,
超级会员免费看
订阅专栏 解锁全文
45

被折叠的 条评论
为什么被折叠?



