EIGamal密码算法 EIGamal密码算法EIGamal密码算法是一种基于离散对数问题的非对称加密算法,由Taher ElGamal在1985年提出。该算法的安全性依赖于有限域中离散对数问题的难解性,利用指数函数的单向性质实现加密和解密。 基本原理 密钥生成: 选择一个大素数 p,使得 p−1 有大素因子。 选择一个模 p 的本原根 g,并将 p 和 g 公开。 用户选择一个私钥 x,其中 x∈[0,p−1],并计算 2024-05-25 密码学 #EIGamal
ECC-ElGamal 以下是 ECC-ElGamal 的算法原理: 公共参数 1.G:椭圆曲线基点 2.SK:私钥,SK=d (d 是 0 到椭圆曲线的阶 q 之间的随机数) 3.PK:公钥,PK=dG 加密 1.明文 m,随机数 r 2.计算密文 C: (3)明文 m 的取值范围为模 order(G) 的模空间,但实际使用时 m 需限制为较小的数(例如 32 比特长度),否则椭圆曲线离散对数 2024-05-25 密码学 #ECC
matplotlib matplotlibMatplotlib 首次发布于2007 年,因其在函数设计方面参考了Matlab,所以其名字以“Mat”开 头,中间的“plot”表示绘图的作用,结尾的“lib”表明它是一个集合。近年来,Matplotlib 库是Python 中绘制二维、三维图表的数据可视化工具,在科学计算领域被得到了广泛应用,具有以下突出优点: 使用简单绘图语言实现复杂绘图;以交互式操作实现数据可视化;采 2024-05-25 Python #第三方库
Python(四) 面向对象编程Python面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它通过将数据和方法绑定成一个对象来实现程序设计和代码重用的思想。Python从设计之初就已经是一门面向对象的语言,因此在Python中创建类和对象是非常容易的。 基本概念类是定义对象的模板,包含了对象的属性和方法。类通过继承、多态等机制实现代码的复用和扩展。 对象是类的实例,每 2024-05-25 Python #类(class) #面向对象编程
Socket SocketSocket编程是一种网络编程范式,它允许不同的计算机或设备在网络中进行通信。在网络编程中,socket是一个抽象层,它提供了一个通信端点,使得数据可以在网络上发送和接收。Socket编程通常用于TCP(传输控制协议)或UDP(用户数据报协议)协议。 基本概念 Socket(套接字):一个socket是通信链路的一个端点,可以看作是电话的插孔,允许数据在其中进出。 TCP vs UDP 2024-05-18 Python #Python第三方库 #网络编程
2024盘古石杯复盘 2024盘古石杯复盘毛雪柳部分PC1.分析毛雪柳的计算机检材,计算机插入三星固态盘的时间是:[答案格式:2024-01-01-04-05-06] [★☆☆☆☆] 2024-04-25-19-08-08 2.分析毛雪柳的计算机检材,计算机操作系统当前的Build版本是:[答案格式:17786] [★☆☆☆☆] 19045 3.分析毛雪柳的计算机检材,团队内部使用的即时通讯软件在计算机上存储日志的 2024-05-12 电子取证 #盘古石杯 #电子取证
2023盘古石杯 2023盘古石杯(未做)Android程序分析 1.涉案应用刷刷樂的签名序列号是(答案格式:123ca12a)(★☆☆☆☆) 2.涉案应用刷刷樂是否包含读取短信权限(答案格式:是/否)(★★☆☆☆) 3.涉案应用刷刷樂打包封装的调证ID值是(答案格式:123ca12a)(★★☆☆☆) 4.涉案应用刷刷樂服务器地址域名是(答案格式:axa.baidu 2024-05-09 电子取证 #盘古石杯 #电子取证
RSA 公钥密码体制保密 + 认证 RSARSA算法是一种非对称加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman于1977年发明,并以他们的姓氏首字母命名。RSA算法基于大数分解的难题,即分解两个大素数乘积的难度,这是RSA算法的安全基础。 主要步骤1.密钥生成 选择两个大质数p和q。 计算n = p * q,n是加密密钥。 计算欧拉函数φ(n) 2024-05-04 密码学 #RSA
Python(三) 在Python中,函数是一种基本的数据结构,它允许你将一段代码封装起来,以便重复使用。下面是对你提到的各个概念的解释和例子: 1.不可变与可变参数:在Python中,可变参数(Mutable Arguments)和不可变参数(Immutable Arguments)是两种不同的参数类型,它们在函数内部的行为和用途上有所不同。 不可变参数不可变参数指的是在函数内部不能被修改的对象,如整数、浮点数、字 2024-05-04 Python #Python函数
迭代器和生成器 应用场景:处理大量数据或需要节省内存 迭代器迭代器是遵循迭代器协议的对象,即它们实现了__iter__()和__next__()两个方法。__iter__()返回迭代器对象本身,__next__()返回序列的下一个元素。如果没有更多元素可返回,则抛出StopIteration异常。 iter( )方法:在Python中,iter()函数用于获取一个迭代器。它通常与集合数据类型(如列表、元组、字典、 2024-04-27 Python #迭代器和生成器
AES 之Sub_Bytes&Mix_Columns(二) Inv_Sub_Bytes(逆字节代换):Inv_Sub_Bytes是AES算法中的一个步骤,它是Sub_Bytes的逆过程,用于解密过程中对数据进行逆变换。在AES算法中,Inv_Sub_Bytes操作对状态的每个字节使用逆S-Box的进行替换。AES的S-Box是一个16x16的查找表,用于在加密过程中将每个字节映射到另一个字节。Inv_Sub_Bytes使用的是S-Box的逆查找表,即Inv 2024-04-24 密码学 #AES
AES 之Sub_Bytes&Mix_Columns(一) Sub_Bytes(字节代换):AES的字节代换其实就是一个简单的查表操作。 AES的S盒,也称为字节替换(SubBytes)步骤中的Rijndael S盒,是一个复杂的结构。它是一个16x16的查找表,接受8位输入并产生8位输出。AES的S盒是通过将每个字节与其逆元素在有限域GF(2^8)上相乘,然后通过一个固定的仿射变换得到的。这个S盒不仅具有非线性,而且还具有很好的扩散特性,能够抵抗各种密码 2024-04-24 密码学 #AES