开普敦大学快速相关攻击项目的简单使用

项目地址可以到上面的地址中,从Download下载到该项目以及项目相关的介绍安装环境:Ubuntu18.04步骤一:安装GSL首先需要安装依赖包GSL(GNU Scientific Library),这是一个C语言科学计算类库,里面有超过1000个函数用于代数计算、矩阵运算安装命令如下(以安装GSL2.6为例):wget http://ftp.club.cc.cmu.edu/pub/gnu/gsl/gsl-2.6.tar.gztar -zxvf gsl-2.6.tar.gz cd gsl
摘要由CSDN通过智能技术生成

项目地址

可以到上面的地址中,从Download下载到该项目以及项目相关的介绍
在这里插入图片描述

安装

环境:Ubuntu18.04

步骤一:安装GSL

首先需要安装依赖包GSL(GNU Scientific Library),这是一个C语言科学计算类库,里面有超过1000个函数用于代数计算、矩阵运算
安装命令如下(以安装GSL2.6为例):

wget http://ftp.club.cc.cmu.edu/pub/gnu/gsl/gsl-2.6.tar.gz
tar -zxvf gsl-2.6.tar.gz 
cd gsl-2.6
sudo ./configure
sudo make
sudo make install

步骤二:安装配置fca(fast correlation attack)

继续安装过程,进入到fastcorrattack目录,在Readme中,会用到CHECK,使用apt-get isntall check可以进行安装,不过不安装这个也不影响正常的使用
根据Readme进行配置

./configure
make 

此时在./src下会生成一个fca的可执行文件,此时也表示安装成功了
在这里插入图片描述

步骤三:了解项目结构

在这里插入图片描述

项目的源码都在src中
  • algorithm_b.c里面是算法B的实现
  • bitarray.c类似一个库,提供了许多关于位数组的创建和管理
  • main.c作为入口,里面除了调用algorithm_b实现攻击,还有检查输入参数是否合规、使用帮助等功能
  • pb_probability.c主要是算法过程中涉及到的一些概率计算,比如计算m(生成校验多项式的个数)等
  • pc_paritycheck.c中有许多函数,用于生成校验多项式和计算每一位所满足的校验多项式个数
    在这里插入图片描述
在test中是一些用于测试功能的用例

还提供了生成测试用例的函数。安装完成后可以使用test/data下的数据进行测试
也可以直接使用test下的combgen.py文件生成自己的测试用例,该文件里面是一个简单的Geffe型的NFSR(这里是根据test/data下的N_long.in按顺序进行输入),运行后会生成test.test文件(用于作为fca的输入)以及test.ans文件(根据输入产生的nfsr输出序列)
在这里插入图片描述

提供的测试用例,t表示抽头数,t2即为有2个抽头,d表示N/L(N为输出序列的个数;L表示LFSR的级数,即有几个寄存器)。
在这里插入图片描述

比如t2_d10_3.test,里面的内容表示

  1. 第一行表示相关性为0.75
  2. 第二行指截取到的NFSR输出序列有2000位
  3. 第三行是说组成该NFSR的每个LFSR只有两个寄存器,级数为2
  4. 第四行是抽头数,这里为2,接下来的两行即为抽头的位置(低位为1)
  5. 第五六行即为抽头的位置,这里的1和2表示,两个寄存器都参与了反馈
  6. 第七行即为截取序列

在这里插入图片描述

下图表示攻击的适用范围,抽头数过多的情况,攻击难以实施
在这里插入图片描述

步骤四:使用fca

可以直接使用test/data下的测试用例进行测试,比如使用t2_d10_2.test作为输入,项目会输出一个

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值