洞察眼 公告 洞察眼MIT系统 2025 年五一优惠及假期服务公告 查看详情
首页 > 动态中心 > 技术文章  >  正文

混淆程序加密:代码最安全的加密方式

2023-06-15 00:00:00

文章摘要:几十年来,计算机科学家一直都想验证是否存在绝对安全的方法来加密计算机程序,让人们在使用计算机的同时却无法破解其程序。在2020年底,几位学者成功找到了一种加密方式,让计算机用户无法通过获取代码破解程序。加密程序代码首先要对其进行混淆不可区分混淆(indistinguishability obfuscation,简称IO)是一种强大的加密算法,它不仅能隐藏数据集,还能隐藏程序本身,从而实现几乎所有的

几十年来,计算机科学家一直都想验证是否存在绝对安全的方法来加密计算机程序,让人们在使用计算机的同时却无法破解其程序。

在2020年底,几位学者成功找到了一种加密方式,让计算机用户无法通过获取代码破解程序。

加密程序代码

首先要对其进行混淆

不可区分混淆(indistinguishability obfuscation,简称IO)是一种强大的加密算法,它不仅能隐藏数据集,还能隐藏程序本身,从而实现几乎所有的加密协议。

要想知道不可区分混淆是什么,我们不妨先来看一看混淆是什么。

对于程序员来说,最宝贵的自然是代码,一旦源代码被人获取,基本上就等于程序员编写代码花费的心血付诸东流,还会涉及到知识产权纠纷。为了保护代码,有的程序员会在导出程序之前采取一些手段来混淆程序。

当前程序混淆有两种方式,第一种是全文替换关键词,把整段代码中所有的“命名”全部替换成数字(例如将ui_controller替代为a0123456);第二种是直接输出编译过后的代码,将人们可以看懂的源代码转换成电脑看得懂的机器码,这样别人就没法直接打开这个文件看到原本的代码了。

这两种方式的目的都是在导出程序的时候,把标注性的符号摘除。从而达到不暴露源码信息的效果。

但这两种方式并不是真正意义上的混淆,因为虽然人类难以理解这串代码到底要做什么,但如果把这样的代码放入编译器中,让编译器去分析整个编程语言的语法结构,把每一行指令所要做的事情都归纳出来的话,那么很容易就能看出些端倪。

真正意义上的混淆被称作虚拟黑盒(Virtual Black Box Obfuscation,VBB),相当于将一个程序C嵌入一个黑盒中,我们可以在黑盒的一端输入x,另一头会输出C(x)。因为整个程序都藏在黑盒中,我们完全无法得知任何C的构造信息,也无法从输出反推输入。

如果实现虚拟黑盒,用户可以使用程序却无法理解程序本身,那么就能让开发的程序永远不被破解,并且加密程序的过程也会十分高效。

但虚拟黑盒的概念提出不久后,很快就被泼了一盆冷水。2001年,7位研究者联手提出了一种特殊构造的程序,并证明通用的VBB混淆是绝对不可能的。

不过,这7位研究者的成果中,提出了一种混淆的新型定义——如果一对程序A和B具有相同的功能性,能否通过一种新的混淆算法,使第三方无法区分两个程序呢?对于这样的混淆,我们称之为IO。

其利用的原理是:如果把相同值输入程序A和B,计算得到O(A)=P和O(B)=P,在无法进入程序A或B的情况下,在计算上分辨P来自于A还是B是不可行的。

有了强大的不可区分混淆,我们就能完美加密已有的程序,使其永远不会被破解。

IO存在性被证实

但还难以抵御量子计算

2013年,美国加州大学洛杉矶分校的阿米特·沙海教授联合其他5位学者提出一种IO协议,把一个程序拆分为几块,就像拼图游戏,单个碎片看上去毫无意义,但如果使用多线性配对方法将碎片正确地组合到一起,程序就能正常工作。

多线性配对本质上是一种利用多项式进行计算的方法,多项式是由不同变量和数字组成的数学表达式,如3xy+2yz2。为了保证其安全性,用户不能获知整个过程中任何参数。

多线性配对方法中,有一个重要的概念叫做“层数”,它可以理解为运算公式中变量的阶数,如3xy+2yz2为2阶多项式,即其层数为2;3xy+2yz4为4阶多项式,其层数为4。层数越多,多线性配对的安全性越差。

2016年,美国华盛顿大学副教授林惠嘉开始探索能否通过减少多线性配对的层数来实现IO。最初,她想出了如何用30层多线性配对构建IO。接下来,她和其他研究者逐渐实现了只用3层多线性配对来构建IO。

表面上看,这是一个巨大的进步。但有一个问题——从安全的角度来看,3层多线性配对和其他3层以上多线性配对一样不安全。

此前,研究人员只知道2层及以下的线性配对是绝对安全的。林惠嘉与阿米特·沙海联手,试图找出如何用2层线性配对构建IO,但是很长一段时间研究都没有突破。最终,他们想出了一个折中方案:既然实现IO需要3层线性配对,但为了安全需要减少到2层,那么中间是否存在2.5层呢?

研究人员设想了一个系统,使用户可以看到部分变量的值,这让整个机制不需要对太多变量进行加密。但多项式被隐藏的变量必须不能超过2阶,如3x2y+2yz4公式中,z的值可以让用户看到,而变量x、y的阶数由于没有超过2阶因此被隐藏。由此,研究人员在保证线性配对安全性的前提下,成功实现了IO。

虽然几位科学家联手证明了IO的存在性,但量子计算机的超强计算能力,会使得目前绝大部分加密算法都无法抵挡,这意味着所有的加密信息,都将会暴露在量子计算机的面前。现在研究者们正试图开发一条新的通往IO的潜在途径,希望能抵挡住量子攻击。[来源:科技日报]

上一篇 : 大数据时代如何防范数据泄露事件的发生
  • 相关推荐
  • 文档透明加密 功能介绍及演示

    文档透明加密功能,是保障企业数据安全的核心利器,通过多种加密模式和权限管理手段,为企业文档提供全方位的保护,确保文档在整个生命周期中的安全性,防止数据泄露。透明加解密与半透明加解密:基于驱动层过滤技术,采用高强度加密算法,实现对用户通过指定授权软件创建的文件实时无感知加密,访问时自动解密。这意味着用户在日常操作过程中,...

    2025-04-30 11:46:29
  • 数据防泄密方法有哪些?推荐数据防泄密的六种方法

    在当今数字化时代,数据已然成为企业和个人最为宝贵的资产之一。无论是商业机密、客户资料,还是个人隐私信息,一旦发生泄密事件,都可能引发严重的后果,如企业声誉受损、面临巨额经济损失,个人隐私被侵犯等。因此,采取有效的数据防泄密措施刻不容缓。接下来就为大家详细介绍六个实用的数据防泄密方法,其中不乏简单易操作的妙招,让我们一起...

  • 数据防泄密软件用什么好?六款精品都在这里,选择权交给你!

    在当今数字化时代,数据已成为企业的核心资产,数据泄露事件频发,给企业带来了巨大的损失。为了保障数据安全,防止敏感信息泄露,数据防泄密软件应运而生。市面上的数据防泄密软件琳琅满目,让人眼花缭乱。不过有这六款软件,用过的企业都赞不绝口,直呼性价比太高,一旦使用就不想再换。下面就为大家详细介绍这些优秀的数据防泄密软件。一、洞...

  • 透明加密软件有哪些|7款好用的透明加密软件(2025最新排行榜)

    在当今数字化时代,数据已成为企业和个人最宝贵的资产之一。然而随着网络安全威胁的日益增多,数据泄露事件屡见不鲜,保护数据安全变得至关重要。透明加密软件作为一种有效的数据保护工具,能够在不影响用户正常使用文件的前提下,自动对数据进行加密和解密,为数据安全提供了可靠的保障。本文将为您推荐 2025 年好用不踩雷的 7 款透明...

  • 怎么给我的图纸加密?七款图纸加密软件分享,设计公司都爱用!

    在当今数字化时代,图纸作为企业和个人的重要资产,其安全性至关重要。无论是工程设计图纸、建筑规划图还是产品设计图,一旦泄露,可能会给企业带来巨大的经济损失和声誉损害。因此选择一款优越的图纸加密软件成为了保护图纸安全的关键。本文将为您介绍七款值得收藏的图纸加密软件,帮助您找到最适合自己的加密解决方案。一、洞察眼 MIT 系...

  • 图纸怎么加密最安全?六种图纸加密的宝藏妙招分享!

    在当今竞争激烈的商业环境中,企业的各类图纸承载着核心的技术、设计理念以及商业机密,关乎着企业的生存与发展。一旦这些图纸泄露,可能会给企业带来不可估量的损失,比如失去市场竞争优势、遭受侵权困扰等。因此,如何对图纸进行有效的加密保护,已然成为众多企业关注的重点。下面就为大家详细介绍六大实用的图纸加密方法,其中不乏深受企业青...

  • 源代码怎么防泄密?5个对开发中的源代码防泄密与防护有效方法

    在当今数字化飞速发展的时代,源代码作为软件企业的核心资产,犹如一座宝藏,蕴含着巨大的商业价值和技术机密。一旦源代码不慎泄露,不仅会让企业辛苦积累的技术优势荡然无存,还可能面临着被竞争对手抄袭、恶意利用等诸多风险,给企业带来难以估量的损失。所以如何有效地防止源代码泄密,已然成为众多企业和开发者们必须要攻克的重要课题。下面...

  • 源代码防泄密用什么软件?2025年主流八款源代码防泄密软件分享

    在当今数字化时代,源代码作为企业的核心资产,承载着创新的成果和竞争的关键优势。一旦源代码泄露,可能会给企业带来巨大的经济损失、声誉损害以及竞争劣势。因此选择一款强大的源代码防泄密软件至关重要。本文将为您介绍八款安全稳定的源代码防泄密软件,帮助您守护企业的源代码安全,让您不再为代码泄露风险而担忧。一、洞察眼 MIT 系统...

  • 2025常用的8款文件加密软件,办公文件怎么加密,最新推荐!

    在数字化时代,数据安全至关重要。无论是个人的隐私文件,还是企业的机密数据,都面临着各种潜在的安全威胁。文件加密软件作为保护数据安全的重要工具,能够将敏感信息转化为密文形式,只有通过特定的密钥才能解密访问,从而有效防止数据被窃取或篡改。以下为你介绍 2025 年值得关注的 8 款好用的文件加密软件。一、洞察眼 MIT 系...

  • 如何给文件加密?分享文件加密的7个方法,保护文档安全

    在数字化时代,文件安全至关重要。无论是个人的隐私文件,还是企业的机密数据,都需要有效的保护。文件加密作为一种关键的安全措施,能够防止信息泄露、数据被篡改以及恶意攻击,为我们的数据加上一层坚固的“保护锁”。下面就为大家分享 7 个实用的文件加密方法,让你的文件安全无忧。一、使用专业工具——洞察眼 MIT 系统洞察眼 MI...

大家都在搜的词:

微信扫一扫联系售前工程师