type
status
date
summary
password
category
slug
icon
发现于魔改后mt19937中改编的extract_number(题:Yusa的密码学课堂——一见如故)小师傅说的很简单,不理解!!!!!!我不会,学习一下。用小师傅教的,搜到一篇论文,中文滴,不要太开心了。xxxi😊
循环移位异或
先看一看什么是循环移位异或
循环移位
//循环移位
0101 0111 循环左移2位 0101 1101
//stp1: 0101 0111 <<2 0101 1100
//stp2: 0101 0111 >>6 1111 1101 mask 0000 0011
// 0000 0011 & 0000 0001
//0101 1100 | 0000 0001 结果:0101 1101
//右移
//0101 0101 右移2位 0101 0101
//stp1: 0101 0101 >>2 0001 0101
//stp2: 0101 0101 <<6 0100 0000
//stp3: 0001 0101 & 0100 0000
循环移位操作分循环左移和循环右移两种。假定循环移位的位数为m,那么循环移位的位数k在 之间。对于一个m位数,循环右移k位等价循环左移m-k位。因此,循环右移可以转化为循环左移来实现(这里只考虑循环左移)。以下用a<<<h表示二进制数a循环左移h位;用a<<k表示二进制数a左移h位。对m位的二进制数的循环左移k位就是整个m位二进制数左移k位,若有移出的bit则从右边环回。
循环移位后多项式的次数不会超出m-1。
📑定理
定理3
在长度为 2 的方幂的二进制串中,循环移位异或变换中,如果有奇数项,那么这个变换是可逆的,否则就是不可逆的
定理4
不论多长的二进制位串移位“异或"变换,只要包含不移位的项,该变换就是可逆的,否则就是不可逆。
🌰举栗子
🤭脚本
👀看题
Yusa的密码学课堂——一见如故
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F15febb5e-01d3-4158-8921-b9b8a250141d%2FUntitled.png?table=block&id=66ec87f0-c508-49a8-8690-489a5f7c046d)