gf28f.cpp

来自「一些密码的程序」· C++ 代码 · 共 17 行

CPP
17
字号
#include<stdio.h>                     //GF28的乘法
unsigned char a,b,c,i,xb,j;           //定义变量,c是所求。
void main()
{ scanf("%d %d",&a,&b);               //输入变量
  for(i=1,xb=b;i;)                    //i从00000001到10000000
  { if(a&i)                           //检测a的第i位是否为1
    c^=xb;                            //若为1,c与xb异或,并赋值给c
    i<<=1;                            //i左移一位
    if(128&xb)                        //xb是否第7位为1
    { xb<<=1;                         //若为1,则左移1位,并对xb取模
      xb^=27;
    }
    else
      xb<<=1;                         //若不为1,只操作xb左移  
  }
  printf("%d %x",c,c);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?