这里直接上干货脚本,讲解请看我的视频。仿射密码知识点

1)出题脚本:

a = 7

b = 22

flag = 'flag{23a490bfcb767099e9ce48dee691a34b}'

c=''

for j in flag:

if ord(j)>=ord("a") and ord(j)<=ord("z"):

cha=ord(j)-ord('a')

c+=chr((a * cha+ b) % 26+ord('a'))

else:

c+=j

print c

2)解题脚本

#coding:utf-8

import gmpy2

a = 7

b = 22

c = 'fvwm{23w490dfkd767099y9ky48ryy691w34d}'

#解密方式

e=gmpy2.invert(7,26)

flag=''

for i in c:

if ord(i) >= ord("a") and ord(i) <= ord("z"):

cha=ord(i)-ord('a')

flag+=chr((e*(cha-22)%26)+97)

else:

flag+=i

print flag

#爆破方式2

flag=''

for i in c:

if ord(i) >= ord("a") and ord(i) <= ord("z"):

for j in range(0,26):

if i==chr((a * j+ b) % 26+ord('a')):

flag += chr(j+ord('a'))

break

else:

flag += i

print flag

3)网鼎杯朱雀组试题脚本:

c='kgws'

m='flag'

for i in range (1,27):

for j in range(1,27):

if 'k'==chr((i*(ord("f")-ord('a'))+j)%26+ord('a'))  and 'g'==chr((i*(ord("l")-ord('a'))+j)%26+ord('a')) and 'w'==chr((i*(ord("a")-ord('a'))+j)%26+ord('a')):

print i,j

a=8

b=22

flag=''

c='kgws{m8u8cm65-ue9k-44k5-8361-we225m76eeww}'

for i in c:

if ord(i)>=ord("a") and ord(i)

for j in range(0, 26):

if i==chr((a * j+ b) % 26+ord('a')):

flag += chr(j+ord('a'))

break

else:

flag+=i

print flag

仿射密码python_CTF-仿射密码(python)相关推荐

  1. 仿射密码(代换密码)

    1.基本概念 加法密码和乘法密码结合就构成仿射密码,仿射密码的加密和解密算法是:C= Ek(m)=(k1*m+k2) mod n 加密过程:c=E(p)=(a*p+b)mod26 解密过程:p=D(c ...

  2. 仿射密码(加法密码+乘法密码)

    仿射密码技术: (加法密码+乘法密码) (可先参见加法密码与乘法密码原理) C= Ek(m)=(k1 m+k2) mod n , K1,K2∈Zn ,gcd(k1,n)=1 M= Dk(c)=k3(c ...

  3. python用户名和密码登录函数_基于Python构建用户ID和密码存储查询系统,python,建立,一个,用户名,UserID,Password,的...

    大家好,本篇博客目的是建立存储和查询用户名和密码的python系统,基础好的可跳过中间小干货,源码在末尾,喜欢的留下小赞哦! 系统主要功能 主要功能如下: 创建一个新用户及其密码 修改值定用户的密码 ...

  4. python凯撒密码实现_密码:凯撒密码及其Python实现

    python凯撒密码实现 Before we start let's some basic terminology... 在开始之前,让我们先介绍一些基本术语... The art and scien ...

  5. 用python编写密码安全性_密码安全性

    设计web程序时,人们往往会 高估数据库中用户信息的安全性,如果攻击者入侵了服务器获取了数据库,用户的安全就处在风险之中,这个风险比你想象的要大.大多数用户都在不同的网站使用相同的密码,因此即便不保存 ...

  6. python编写凯撒密码的加密函数_python实现 古典密码 凯撒密码的加密与解密

    python实现 古典密码 凯撒密码的加密与解密 实现效果如下图: # 凯撒密码加密与解密 # author Sundm string = ['a','b','c','d','e','f','g',' ...

  7. 编写python程序实现移位密码_移位密码

    密码学简介 这是我以前所不知道的. 密码学的基本目的是使两个在不安全信道中通信的人,通常称为Alice和Bob,以一种使他们的敌手Oscar不能明白和理解通信内容的方式进行通信. 定义:一个密码体系是 ...

  8. 自制密码管理器 —— 使用python、RSA加密文件

          视频演示链接:用python做的密码管理器       1.前言   自从迷上各种网站以后,各种注册压根停不下来,密码老是记不住是接触互联网的人都会遇到的问题.   有的人不管是什么密码, ...

  9. Python自动化,破解zip密码,提取密码,自动解压

    使用john,破解简单的6位纯数字密码 + 身份证后6位密码 安装: git clone https://github.com/magnumripper/JohnTheRipper.gitcd Joh ...

  10. python 古典密码第一弹(凯撒密码,Playfair密码,维吉尼亚密码)

    各位白嫖-漂亮大哥哥姐姐们好,在下菜鸡一枚,主要想在这和大家一起探讨学习之道,一起愉快的学习密码学基础.总所周知,密码学学的好,头发掉的少... 直接进入正题,今天我就主要讲三个密码,而且都是古典密码 ...

最新文章

  1. 【DSP开发】C6000非多核非KeyStone系列DSP中断系统
  2. Ubuntu 新装服务器部署流程
  3. 比特币黄金BTG遭遇51%算力攻击,即将归零?
  4. UITextView实现PlaceHolder的方式
  5. linux覆盖和追加
  6. android软件开发基础课程(一)
  7. 优化案例(part5)--sparse subspace clustering via Low-Rank structure propagation
  8. 英语笔记:词组句子:0906
  9. mysql哨兵机制_Redis 哨兵机制以及底层原理深入解析,这次终于搞清楚了
  10. Chrome图标的来历。
  11. C语言中 二维数组在内存中的存放顺序是,在计算机中二维数组的元素是按行顺序存放的,即在内存中,先顺序存放二维数组第一行的元素,再顺序存放二维数组第二行的元素,以此类推 答案:对...
  12. watch解放你的双手
  13. 程序员须掌握的大数据分析核心技术
  14. [转载]自动化行业信讯_史蒂文森sun_新浪博客
  15. 第二章:上下文无关文法
  16. Android 请求Root权限代码
  17. Datawhale数据分析思考与问题解决
  18. 阿里云 CDN+Oss 解决方案
  19. 利用tensorflow训练自己的图片数据集——数据准备
  20. 企业邮箱和个人邮箱之间有什么区别?

热门文章

  1. php 递归格式化数组,PHP利用递归实现无限分类,格式化数组的简单示例
  2. ARM和X86、X86和X64、Intel和AMD、CPU和GPU介绍
  3. bzoj3940 [Usaco2015 Feb]Censoring(ACAM+栈)
  4. 你不知道的JavaScript--Item10 闭包(closure)
  5. Mq消息丢失解决方案
  6. Microsoft 支持诊断工具 (MSDT) Follina漏洞
  7. 工业用微型计算机自考复习,自考工业用微型计算机复习.doc
  8. python实现四个数字的全排列
  9. 打开chrome报错误代码:STATUS_INVALID_IMAGE_HASH解决方案
  10. 是神话还是泡沫?“千元难求”片仔癀大股东首次减持,传递什么信号?