Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <bitset>
- #include <vector>
- using namespace std;
- int main()
- {
- // int x, y;
- bitset <6> inpSeq;
- bitset <6> polyPos;
- bitset <6> operSeq;
- bitset <6> bit;
- vector <int> xorArray;
- vector <int> keyReg;
- cout << "Enter a 6-bit sequence: \n";
- cin >> inpSeq;
- cout << "Enter poly: \n";
- cin >> polyPos;
- for ( unsigned int i = 0; i < polyPos.size(); i++)
- {
- if ( polyPos[i] == 1)
- {
- xorArray.push_back(i);
- }
- }
- cout << "----" << "\n";
- operSeq = inpSeq;
- keyReg.push_back(inpSeq[0]);
- int x = xorArray[0];
- bit[5] = operSeq[x];
- do {
- for ( unsigned int j = 1; j < xorArray.size() ; j=j+1 )
- {
- bit[5] = bit[5] ^ operSeq[j];
- }
- operSeq >>= 1;
- operSeq[5] = bit[5];
- cout << operSeq << "\n";
- keyReg.push_back(operSeq[0]);
- }
- while (operSeq != inpSeq);
- cout << "Generated key is: ";
- for (unsigned int k = 0; k < keyReg.size(); k++)
- {
- cout << keyReg[k];
- }
- cout << "\n";
- cout << "Bit 1 positions: ";
- for ( unsigned int g = 0; g < xorArray.size(); g++)
- {
- cout << xorArray[g];
- }
- cout << "\n";
- cout << "Key length is: " << keyReg.size();
- cout << "\n";
- cin.get();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement