当前位置: 首页 > news >正文

【proverif】proverif的下载安装和初使用

文章目录

  • 一、proverif下载
    • 1. 下载proverif安装包
    • 2. 解压proverif安装包
    • 3. 点开其中的README,安装graphciz和gtk
    • 4. 查看安装是否成功
    • 5. 测试


一、proverif下载

1. 下载proverif安装包

官网:proverif
首先下载全过程无需开外网,而且安装包下载和安装都很快,半小时内可以完成。
进入官网,看到downloads的标题下面有一个download for windows,直接下载。
在这里插入图片描述
下载之后是一个.tar.gz的文件,将该文件放入D盘(D盘新建一个文件夹,命名为proverif,将.tar.gz安装包放入文件夹内),我们用代码方式进行解压。

2. 解压proverif安装包

进入cmd命令行,按一下步骤逐次输入命令行,完成解压。

1. 进入proverif的文件夹cd /d D:\proverif2. 解压安装包tar -zxvf proverif2.04.tar.gz

解压完成后,proverif文件夹就会出现一个名为proverif2.04的文件。

3. 点开其中的README,安装graphciz和gtk

在这里插入图片描述
README中表示还要安装两个包,下面是他们的地址,两个文件均下载到proverif文件夹中:

graphciz:https://www.graphviz.org/download/
GTK:download

graphciz的安装按照自己电脑位数来选择,我选择了64位。
在这里插入图片描述


GTK安装是按照README中指定的文件下载:
在这里插入图片描述
下载完之后是一个压缩包:gtk+-bundle_2.24.10-20120208_win32.zip,解压到proverif文件中,将解压文件改名为GTK

配置路径:控制面板-》系统-》高级系统设置-》环境变量,然后设置如图:
在这里插入图片描述
至此,GTK安装和环境配置结束。

4. 查看安装是否成功

graphciz下载后直接安装即可,安装后在任务管理器中查看是否安装成功:

dot -version

可以看到successfully loaded即为成功。
在这里插入图片描述

5. 测试

在proverif文件中新建一个txt文件,编写下面代码:

free c:channel.free Cocks:bitstring[private].
free RSA:bitstring[private].query attacker(RSA).
query attacker(Cocks).processout(c,RSA);0

然后将txt文件后缀改成.pv,在cmd中进入proverif文件,并执行语句:

proverif test1.pv

若出现该图的情况,是因为后缀没有改成功:
在这里插入图片描述

Win11的后缀修改方式:打开此电脑——查看更多——选项——查看——隐藏已知文件类型扩展名。然后在txt文件重命名中,将.txt改成.pv。

若出现该页面时,证明安装成功:
在这里插入图片描述

该段代码的解释:

第1行用(*和*)括起来的是注释。

第3行定义了一个通信通道,通道的名字是c,这里的free类似于编程语言中的全局变量,在ProVerif里这表示这是一个全局都知道的知识,即攻击者也可以获取,具体到这一行说明通道c是公共的。

第5行和第6行定义了bitstring类型的变量Cocks和RSA,它们都是free的,但是用[private]限制了它们无法被攻击者获取到。

第11行定义了一个进程,第12行是这个进程内的一条语句,表示通过通道c将RSA发送出去,第13行的0是进程结束标志(也可以不写这个0和最后一个;)。

第8行和第9行定义了对性质的查询,需要注意,如query attacker (RSA)在底层实际查询的是【not attacker (RSA)】,即要判断命题【RSA不会被攻击者窃取】是否是成立的。

从最下面的Verification summary中也可以看到,RSA的验证结果是false,也就是会被攻击(因为它被通过公有通道发送出去了),而Cocks不会被攻击。

参考博客:

  1. https://blog.csdn.net/SHU15121856/article/details/107927165

  2. https://blog.csdn.net/weixin_43863334/article/details/110006348

相关文章:

【proverif】proverif的下载安装和初使用

文章目录 一、proverif下载1. 下载proverif安装包2. 解压proverif安装包3. 点开其中的README,安装graphciz和gtk4. 查看安装是否成功5. 测试 一、proverif下载 1. 下载proverif安装包 官网:proverif 首先下载全过程无需开外网,而且安装包下…...

浙江大学《乡村振兴战略下传统村落文化旅游设计》许少辉八一著作——2023学生开学季辉少许

浙江大学《乡村振兴战略下传统村落文化旅游设计》许少辉八一著作——2023学生开学季辉少许...

Centos7.9 一键脚本部署 LibreNMS 网络监控系统

前言: LibreNMS 是个以 PHP/MySQL 为基底的自动探索网络监控系统 LibreNMS 官网 版本23.8.2-52-g7bbe0a2 - Thu Sep 14 2023 22:33:23 GMT0700数据库纲要2023_09_01_084057_application_new_defaults (259)Web 服务器nginx/1.20.1PHP8.1.23Python3.6.8DatabaseMa…...

【大数据之Kafka】十六、Kafka集成外部系统之集成Flume

Flume 是一个在大数据开发中非常常用的组件。可以用于 Kafka 的生产者,也可以用于 Kafka 的消费者。 Flume安装和部署:https://blog.csdn.net/qq_18625571/article/details/131678589?spm1001.2014.3001.5501 1 Flume生产者 (1&#xff09…...

java学习--day3 (运算符、if循环、switch-case结构)

文章目录 今天的内容1.运算符1.1关系运算符1.2逻辑运算符1.3逻辑运算符的短路原则 2.分支结构【重点】2.1if分支2.2if-else分支2.3if-else的嵌套写法2.4if-else if 分支结构2.5swicth-case结构 扩展知识点 1.八大基本数据类型整型: byte short int long浮点: float double字…...

ActiveMQ、RabbitMQ、RocketMQ、Kafka区别

一、消息中间件的使用场景 消息中间件的使用场景总结就是六个字:解耦、异步、削峰 1.解耦 如果我方系统A要与三方B系统进行数据对接,推送系统人员信息,通常我们会使用接口开发来进行。但是如果运维期间B系统进行了调整,或者推送…...

csp初赛总结 那些年编程走过的坑 初高中信竞常考语法算法点

😘个人主页:曲终酣兴晚的小书屋💖 😕作者介绍:一个莽莽撞撞的🐻 💖专栏介绍:日常生活&往事回忆 😶‍🌫️每日金句:祝大家心有山水不造作&…...

DollarTree(美元树)验厂需要注意哪些方面?

【DollarTree(美元树)验厂需要注意哪些方面?】 美元树(Dollar tree),是美国的一元店。每件商品都只卖一美元,吃的、用的和玩的应有尽有。美元树在美国共拥有4900家门店,其中一半的连…...

vector使用和模拟实现

💓博主个人主页:不是笨小孩👀 ⏩专栏分类:数据结构与算法👀 C👀 刷题专栏👀 C语言👀 🚚代码仓库:笨小孩的代码库👀 ⏩社区:不是笨小孩👀 🌹欢迎大…...

token登录的实现

token登录的实现 我这种token只是简单的实现token,就是后端利用UUID 生成简单随机码,利用随机码作为在Redis中的键,然后存储的用户信息作为值,在每次合理请求的时候对token的有效时间进行刷新(利用拦截器)&…...

GO语言从入门到实战-Go语言课程介绍

为什么选择 Go 语言来完成这么大一个项目呢?我们不妨回到 Go 语言的源头看一看。 Go 语言的初步设想始于 2007 年,当时 Go 语言的三位创始人是想通过开发一种新型的语言来解决 Google 在软件开发中面临的问题: 多核硬件架构;超大…...

七天学会C语言-第六天(指针)

1.指针变量与普通变量 指针变量与普通变量是C语言中的两种不同类型的变量,它们有一些重要的区别和联系。 普通变量是一种存储数据的容器,可以直接存储和访问数据的值。: int num 10; // 定义一个整数型普通变量num,赋值为10在例…...

2023年腾讯云轻量服务器测评:16核 32G 28M 配置CPU测试

腾讯云轻量应用服务器16核32G28M配置优惠价3468元15个月(支持免费续3个月/送同配置3个月),轻量应用服务器具有100%CPU性能,系统盘为380GB SSD盘,28M带宽下载速度3584KB/秒,月流量6000GB,折合每天…...

macos (M2芯片)搭建flutter环境

安装的版本3.13.4、电脑上没有安装过android studio、安装过brew 1.在终端运行sudo softwareupdate --install-rosetta --agree-to-license,下图展示安装成功的效果 2.下载以下安装包来获取最新的 stable Flutter SDK 3.解压,⚠️注意下载安装sdk的包名…...

Xilinx FPGA未使用管脚上下拉状态配置(ISE和Vivado环境)

文章目录 ISE开发环境Vivado开发环境方式1:XDC文件约束方式2:生成选项配置 ISE开发环境 ISE开发环境,可在如下Bit流文件生成选项中配置。 右键点击Generate Programming File,选择Process Properties, 在弹出的窗口选…...

数据结构---链表(java)

目录 1. 链表 2. 创建Node 3. 增加 4. 获取元素 5. 删除 6. 遍历链表 7. 查找元素是否存在 8. 链栈的实现 9. 链队的实现 1. 链表 数据存放在"Node"结点中 优点:不用考虑扩容和缩容的问题,实现了动态存储数据 缺点:没有…...

Qt --- Day02

实现效果: 点击登录,检验用户密码是否正确,正确则弹出消息框,点击ok转到另一个页面 不正确跳出错误消息框,默认选线为Cancel,点击Yes继续登录 点击Cancel跳出问题消息框,默认选项No&#xff0c…...

Redis 集合(Set)快速指南 | Navicat

Redis 支持通过多种数据类型来存储项目集合。其中,包括列表、集合和哈希。上周的博文介绍了列表(List)数据类型并重点介绍了一些用于管理列表(List)的主要命令。在今天的文章中,我们将转向关注集合&#xf…...

【华为云云耀云服务器L实例评测】- 云原生实践,快捷部署人才招聘平台容器化技术方案!

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…...

【Java】泛型 之 什么是泛型

什么是泛型 泛型是一种“代码模板”,可以用一套代码套用各种类型。 在讲解什么是泛型之前,我们先观察Java标准库提供的ArrayList,它可以看作“可变长度”的数组,因为用起来比数组更方便。 实际上ArrayList内部就是一个Object[]…...

GitHub Desktop中文汉化工具:让Git操作变得像聊天一样简单

GitHub Desktop中文汉化工具:让Git操作变得像聊天一样简单 【免费下载链接】GitHubDesktop2Chinese GithubDesktop语言本地化(汉化)工具 项目地址: https://gitcode.com/gh_mirrors/gi/GitHubDesktop2Chinese 还在为GitHub Desktop满屏的英文而头疼吗&#x…...

AnotherRedisDesktopManager:提升Redis管理效率的全方位解决方案

AnotherRedisDesktopManager:提升Redis管理效率的全方位解决方案 【免费下载链接】AnotherRedisDesktopManager qishibo/AnotherRedisDesktopManager: Another Redis Desktop Manager 是一款跨平台的Redis桌面管理工具,提供图形用户界面,支持…...

前端AI新选择:Transformer.js vs TensorFlow.js,你的项目该用哪个?

前端AI新选择:Transformer.js与TensorFlow.js深度技术选型指南 当浏览器逐渐成为新一代计算平台时,前端开发者正面临一个关键抉择:如何在客户端高效部署机器学习能力?我曾为一个医疗咨询项目选择技术方案时,团队在Tran…...

OpenClaw+GLM-4.7-Flash成本对比:自建模型比API调用节省30%token消耗

OpenClawGLM-4.7-Flash成本对比:自建模型比API调用节省30%token消耗 1. 为什么需要关注token消耗 上周五凌晨两点,我的OpenClaw突然停止了周报自动化任务。查看日志发现是API额度耗尽——当月累计消耗已超过商用GLM-4.7-Flash的套餐限额。这次意外让我…...

10分钟上手!Java开发者也能轻松调用AI,Spring AI Alibaba手把手教你构建智能体!

介绍:还在羡慕Python开发者能轻松调用AI?Spring AI Alibaba让Java也能10分钟构建一个能“思考”和“行动”的智能体,这次手把手教! 系统:Windows jdk版本:17 maven:3.8 模型API Key&#xff1a…...

加油卡小程序玩法全解析:刚需场景破局,从充值裂变到合规运营全攻略

国内私家车与新能源车主群体持续扩容,加油、充电作为高频刚性消费场景,自带稳定流量与强付费意愿,加油卡小程序凭借轻量化、易传播、直达用户的优势,成为加油站、第三方车主服务平台、车企布局私域流量的核心载体。不同于潮玩等娱…...

基于springboot框架的校园外卖管理系统的设计与实现

目录需求分析与功能规划技术选型与架构设计数据库设计与建模核心功能实现系统集成与测试部署与运维优化与扩展项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作需求分析与功能规划 明确校园外卖管理系统的核心需求,包…...

CH340系列芯片选型指南与外围电路设计实战

1. CH340系列芯片选型指南 第一次接触CH340系列芯片时,我被它丰富的型号搞得眼花缭乱。作为国内最常用的USB转串口芯片之一,CH340系列凭借稳定的性能和亲民的价格,在嵌入式开发领域占据重要地位。但面对十几种不同型号,新手往往会…...

FPGA实战:8点FFT运算的Verilog实现与误差优化技巧

FPGA实战:8点FFT运算的Verilog实现与误差优化技巧 在数字信号处理领域,快速傅里叶变换(FFT)算法是频谱分析的核心工具。对于FPGA开发者而言,掌握FFT的硬件实现不仅能提升系统性能,更能深入理解算法与硬件的…...

别再死记命令了!用EVE-NG模拟器5分钟搞定思科GRE隧道(附OSPF联动配置)

5分钟玩转思科GRE隧道:EVE-NG实战中的高效学习法 第一次在EVE-NG里搭建GRE隧道时,我盯着满屏的命令行发呆——这些配置到底在做什么?为什么tunnel接口要配源和目的地址?OSPF又是怎么和隧道联动的?直到我用Wireshark抓到…...