CUDA教程–古典密码学分析 使用现代GPU和CUDA的密码

本文是一篇关于使用CUDA进行古典密码分析的教程,介绍了如何利用现代GPU的并行计算能力来提升密码破解效率。内容涵盖CUDA基础知识、GPU多核架构的利用、线程管理和优化、伪随机数生成器在密码分析中的应用,以及CUDA调试工具和内存管理。文章通过实现一个针对单字母替换密码的GPU解密工具,详细阐述了设计过程和优化技巧,并与其他密码分析工具进行了比较。
摘要由CSDN通过智能技术生成

CUDA Tutorial – Cryptanalysis of Classical Ciphers Using Modern GPUs and CUDA

CUDA教程–古典密码学分析使用现代GPU和CUDA的密码

在这里插入图片描述

1 介绍

CUDA(以前是Compute Unified Device Architecture的缩写)是一种Nvidia创建的并行计算平台和API模型允许软件开发人员可以使用支持CUDA的图形处理单元(GPU)进行常规目的处理1在本教程中,我们以易于理解的方式介绍了CUDA概念。互动方式。 但是,要充分利用本教程,需要满足一些基本先决条件:

基本熟悉C,C ++或类似语言

•对密码学有基本的了解

•对启发式技术有基本的了解

•拥有支持CUDA的设备

第2节简要介绍了图形处理单元(GPU)。 在这个本节中,我们将设置我们的编程环境,并学习如何利用通过解决一些琐碎的问题来实现GPU的多核体系结构。

第3节提供了GPU线程的概念并分析了现代GPU的方式在对经典计算机执行自动密码分析方面可能会有所帮助密码系统。
在这里插入图片描述

从头开始,我们实现了一个完整的独立GPU工具,用于自动解密通过单字母替换(MAS)加密的密文(仅密文攻击)。 在整个过程中,我们将学习如何设计工具,哪些优化可以显着增强我们的例程功能,为什么选择适当的元启发式方法2是至关重要的,以及如何绘制通过主动解决即将出现的问题来启发设计过程的草图。

通过组织线程数限制问题可以轻松解决线程以块为单位,如第4节所示。然后,在元启发式选择,密码分析的关键部分–伪随机嵌套在设备本身中的数字生成器(PRNG)。 进一步讨论原因可以发现PRNG对经典的密码分析非常有利在3.3和4.3小节中。 有了这个,我们可以进一步优化我们的密码分析工具,通过使用独立的伪随机数池,这允许开发更灵活的元启发式方法。

在这里插入图片描述

第5节简要讨论了一些基本的CUDA调试工具,这些工具用于区分主机产生的错误和设备产生的错误。 此外,我们概述了CUDA内存模型的简要概述,以及为什么要使用共享内存可以大大提高我们未来应用程序的速度。

然后,第6节简要讨论了动态分配的内存的使用设备,更具体地说,为什么要避免使用它。 例如,我们演示如何通过使用预定义的宏来避免这种用法。

第7节首先总结了整个过程中所做的最关键的改进。教程。 然后,按照上一阶段概述的设计原则章节中,构建了一个独立的CUDA应用程序,用于对通过单列转置密码加密的密文进行自动密码分析。 在最后,将提供的CUDA应用程序与最新技术进行比较密码分析工具。

最后的第8节总结了应解决的关键范例在设计CUDA密码分析工具的过程中。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值