CN113591040A - 加密方法及其装置、解密方法及其装置、电子设备和介质 - Google Patents

加密方法及其装置、解密方法及其装置、电子设备和介质 Download PDF

Info

Publication number
CN113591040A
CN113591040A CN202110698848.6A CN202110698848A CN113591040A CN 113591040 A CN113591040 A CN 113591040A CN 202110698848 A CN202110698848 A CN 202110698848A CN 113591040 A CN113591040 A CN 113591040A
Authority
CN
China
Prior art keywords
file
code
training
script
encryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110698848.6A
Other languages
English (en)
Other versions
CN113591040B (zh
Inventor
王晖
李永博
刘洋
王亚男
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202110698848.6A priority Critical patent/CN113591040B/zh
Publication of CN113591040A publication Critical patent/CN113591040A/zh
Application granted granted Critical
Publication of CN113591040B publication Critical patent/CN113591040B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

本公开提供了一种加密方法及其装置、解密方法及其装置、电子设备和介质,涉及人工智能领域,具体涉及计算机视觉和深度学习技术,具体可用于基础架构场景下。具体实现方案为:确定训练代码中包含神经网络模型的模型参数的预设文件,并对预设文件进行加密,以得到更新后的训练代码,以及对更新后的训练代码进行编译,以得到字节码文件。由此,可以实现对训练代码中重要性较高的预设文件进行加密,可以提升训练代码的安全性,并且,通过编译,字节码文件对用户而言是不可见的,可以进一步提升训练代码的安全性。

Description

加密方法及其装置、解密方法及其装置、电子设备和介质
技术领域
本公开涉及人工智能领域,具体涉及计算机视觉和深度学习技术,具体可用于基础架构场景下,尤其涉及加密方法及其装置、解密方法及其装置、电子设备和介质。
背景技术
随着人工智能行业的飞速发展,人工智能应用不断出现,其中,人工智能的核心是神经网络模型,神经网络模型包括模型结构和模型参数。为了提升训练后的神经网络模型的预测精度,研发人员需要投入较大的精力对模型进行训练,然而,如果对神经网络模型的保护力度不够,则可能导致模型的训练代码被非法用户移植到其他机器上使用。因此,如何对神经网络模型的训练代码进行保护至关重要。
发明内容
本公开提供了一种用于加密方法及其装置、解密方法及其装置、电子设备和介质。
根据本公开的一方面,提供了一种加密方法,包括:
获取训练代码,其中,所述训练代码用于对神经网络模型进行训练;
确定所述训练代码中包含所述神经网络模型的模型参数的预设文件;
对所述预设文件进行加密,以得到更新后的训练代码;
对所述更新后的训练代码进行编译,以得到字节码文件。
本公开的另一方面,提供了一种解密方法,包括:
获取字节码文件,其中,所述字节码文件是采用如本公开上述一方面实施例提出的加密方法得到的;
响应于启动指令,对所述字节码文件进行解码,得到解码后的训练代码;
对所述解码后的训练代码中预设文件进行解密,以得到目标训练代码;
采用所述目标训练代码对神经网络模型进行训练。
根据本公开的又一方面,提供了一种加密装置,包括:
第一获取模块,用于获取训练代码,其中,所述训练代码用于对神经网络模型进行训练;
确定模块,用于确定所述训练代码中包含所述神经网络模型的模型参数的预设文件;
加密模块,用于对所述预设文件进行加密,以得到更新后的训练代码;
编译模块,用于对所述更新后的训练代码进行编译,以得到字节码文件。
根据本公开的再一方面,提供了一种解密装置,包括:
第二获取模块,用于获取字节码文件,其中,所述字节码文件是采用如本公开上述实施例提出的加密装置得到的;
解码模块,用于响应于启动指令,对所述字节码文件进行解码,得到解码后的训练代码;
解密模块,用于对所述解码后的训练代码中预设文件进行解密,以得到目标训练代码;
训练模块,用于采用所述目标训练代码对神经网络模型进行训练。
根据本公开的又一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开上述一方面提出的加密方法,或者,执行本公开上述另一方面提出的解密方法。
根据本公开的再一方面,提供了一种计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开上述一方面提出的加密方法,或者,执行本公开上述另一方面提出的解密方法。
根据本公开的还一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开上述一方面提出的加密方法,或者,实现本公开上述另一方面提出的解密方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是本公开实施例一所提供的加密方法的流程示意图;
图2为本公开实施例二所提供的加密方法的流程示意图;
图3为本公开实施例三所提供的加密方法的流程示意图;
图4为本公开实施例中的加密过程示意图一;
图5为本公开实施例中的加密过程示意图二;
图6为本公开实施例四所提供的解密方法的流程示意图;
图7为本公开实施例五所提供的解密方法的流程示意图;
图8为本公开实施例六所提供的解密方法的流程示意图;
图9为本公开实施例七所提供的加密装置的结构示意图;
图10为本公开实施例八所提供的解密装置的结构示意图;
图11示出了可以用来实施本公开的实施例的示例电子设备的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在深度学习方面,一般是基于python语言的训练代码,对神经网络模型进行训练,有时客户可能需要模型的整个训练流程,但是训练代码以及神经网络模型需要保密,因此需要一套加密方法,对整个训练流程进行加密。
相关技术中,可以将训练代码的源码部署在自身服务器上,客户可以通过给定接口调用服务的方式,来获取训练代码,或者,可以使用C++语言来开发部署训练代码。
然而,上述第一种方式,采取调用服务的方式来获取训练代码,需要将源码传输到服务器上,而有些行业对数据保密性要求较严,无法进行上述操作,并且服务提供方还需提供计算资源;上述第二种方式,使用C++语言部署训练代码,开发周期比较长,许多算法等都是基于python语言实现的,如果使用C++语言去复现,开发时间较长。
因此针对上述存在的问题,本公开提出一种加密方法及其装置、解密方法及其装置、电子设备和介质。
下面参考附图描述本公开实施例的加密方法及其装置、解密方法及其装置、电子设备和介质。
图1为本公开实施例一所提供的加密方法的流程示意图。
本公开实施例以该加密方法被配置于加密装置中来举例说明,该加密装置可以应用于任一电子设备中,以使该电子设备可以执行加密功能。
其中,电子设备可以为任一具有计算能力的设备,例如可以为个人电脑(PersonalComputer,简称PC)、移动终端、服务器等,移动终端例如可以为手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。
如图1所示,该加密方法可以包括以下步骤:
步骤101,获取训练代码,其中,训练代码用于对神经网络模型进行训练。
在本公开实施例中,训练代码为开发人员对神经网络模型进行训练后得到的代码,其中,当神经网络模型的应用场景不同时,训练代码可以不同。例如,当神经网络模型的应用场景不同时,模型结构、模型参数(比如模型权重、配置信息等)可以不同,因而训练代码可以不同。
需要说明的是,本公开对神经网络模型的应用场景不作限制,可以应用于任一场景。
作为一种应用场景,以神经网络模型应用于语音识别场景中进行示例,神经网络模型的输入可以为语音数据,神经网络模型的输出可以为语音数据对应的语音识别结果。
作为另一种应用场景,以神经网络模型应用于语音翻译场景中进行示例,神经网络模型的输入可以为语音数据,输出可以为语音数据对应的语音翻译结果。
举例而言,以神经网络模型应用于中英互译场景中进行示例性说明,神经网络模型的输入可以为中文的语音数据,输出可以为语音数据对应的英文翻译结果,该英文翻译结果可以为语音形式,或者也可以为文本形式,对此不作限制。
作为又一种应用场景,以神经网络模型应用于图像识别场景或视频识别场景中进行示例,神经网络模型的输入可以为图像或视频帧,输出可以为图像或视频帧的分类结果。
一种示例,以神经网络模型用于身份识别进行示例性说明,神经网络模型的输入可以为图像或视频帧,神经网络模型的输出用于确定图像或视频帧中目标对象的身份信息。
另一种示例,以神经网络模型用于活体检测进行示例性说明,神经网络模型的输入可以为图像或视频帧,神经网络模型的输出用于确定图像或视频帧中是否存在活体。比如当神经网络模型输出的概率值大于或者等于预设阈值(比如,预设阈值可以为0.5)时,分类结果为存在活体,而当神经网络模型输出的概率值小于预设阈值时,分类结果为未存在活体。
又一种示例,以神经网络模型用于违禁图片(比如暴力图片、色情图片等)检测进行示例性说明,神经网络模型的输入可以为图像或视频帧,神经网络模型的输出用于确定图像或视频帧是否为违禁图片。比如当神经网络模型输出的概率值大于或者等于预设阈值时,分类结果为:图像或视频帧为违禁图片,而当神经网络模型输出的概率值小于预设阈值时,分类结果为:图像或视频帧为正常图片。
步骤102,确定训练代码中包含神经网络模型的模型参数的预设文件。
在本公开实施例中,模型参数可以包括模型权重、配置信息等。
在本公开实施例中,可以从训练代码中确定包含神经网络模型的模型参数的文件,将确定的文件作为预设文件。
作为一种可能的实现方式,可以根据预设的命名方式,对各文件进行命名,从而可以根据训练代码中各文件的名称,确定预设文件。举例而言,包含模型权重的文件的名称为A,包含配置信息的文件的名称为B,包含其他信息的文件的名称为C,从而可以将名称为A和B的文件,作为预设文件。
作为另一种可能的实现方式,在生成训练代码的过程中,可以自动对包含神经网络模型的模型参数的文件进行标记,从而本公开中,可以根据各文件的标记信息,确定预设文件。
当然,也可以通过人工方式,从训练代码中选择包含神经网络模型的模型参数的预设文件,本公开对此并不做限制。
步骤103,对预设文件进行加密,以得到更新后的训练代码。
在本公开实施例中,可以采用加密算法,对训练代码中的预设文件进行加密,以得到更新后的训练代码。由此,可以实现对训练代码中重要性较高或需保密的预设文件进行加密,可以提升训练代码的安全性。
步骤104,对更新后的训练代码进行编译,以得到字节码文件。
在本公开实施例中,可以对更新后的训练代码进行编译,得到字节码文件,由于该字节码文件对用户而言是不可见的,可以进一步提升训练代码的安全性。
本公开实施例的加密方法,通过获取训练代码,并确定训练代码中包含神经网络模型的模型参数的预设文件,并对预设文件进行加密,以得到更新后的训练代码,以及对更新后的训练代码进行编译,以得到字节码文件。由此,可以实现对训练代码中重要性较高的预设文件进行加密,可以提升训练代码的安全性,并且,通过编译,字节码文件对用户而言是不可见的,可以进一步提升训练代码的安全性。
为了清楚说明上述实施例中是如何对预设文件进行加密的,本公开提供了另一种加密方法。
图2为本公开实施例二所提供的加密方法的流程示意图。
如图2所示,该加密方法可以包括以下步骤:
步骤201,获取训练代码,其中,训练代码用于对神经网络模型进行训练。
步骤202,确定训练代码中包含神经网络模型的模型参数的预设文件。
步骤201至202的执行过程可以参见上述实施例中步骤101至102的执行过程,在此不做赘述。
步骤203,根据设定秘钥,对预设文件执行加密脚本,以对预设文件进行加密得到加密后的预设文件。
在本公开实施例中,可以采用设定秘钥,对训练代码中需要保密的预设文件进行加密,即可以对训练代码中的预设文件执行加密脚本,以对预设文件进行加密得到加密后的预设文件。
步骤204,在训练代码中,写入设定秘钥、加密脚本和用于对加密后的预设文件进行解密的解密脚本,以得到更新后的训练代码。
在本公开实施例中,可以在训练代码中写入设定密钥、加密脚本以及用于对加密后的预设文件进行解密的解密脚本,以得到更新后的训练代码。
作为一种示例,可以在训练代码的初始化部分,写入设定秘钥、加密脚本和用于对加密后的预设文件进行解密的解密脚本,从而后续可以从训练代码中获取设定秘钥和解密脚本,以基于该设定秘钥和解密脚本,对训练代码中加密后的预设文件进行解密。
需要说明的是,在训练代码中写入加密脚本,从而在神经网络模型完成训练后,还可以基于加密脚本,对训练后的神经网络模型的模型参数进行加密,可以保证模型数据的安全性。
步骤205,对更新后的训练代码进行编译,以得到字节码文件。
步骤205的执行过程可以参见本公开任一实施例的执行过程,在此不做赘述。
在本公开的任意一个实施例之中,以训练代码为python语言的代码进行示例,可以采用自定义python版本,对更新后的训练代码进行编译,得到pyc格式的字节码文件。即可以对更新后的训练代码执行python脚本,以将该更新后的训练代码编译为字节码文件。由此,可以实现将用户可读的py格式的训练代码,编译为用户不可读的pyc格式的训练代码,可以提升训练代码的安全性。
其中,自定义python版本,编译出来的pyc格式的字节码文件无法反编译成可读的py文件,且该自定义python版本编译出来的pyc格式的字节码文件无法使用其余版本的python执行,可以进一步提升训练代码的安全性。
本公开实施例的加密方法,通过根据设定秘钥,对预设文件执行加密脚本,以对预设文件进行加密得到加密后的预设文件,并在训练代码中,写入设定秘钥、加密脚本和用于对加密后的预设文件进行解密的解密脚本,以得到更新后的训练代码。由此,对训练代码中的预设文件进行加密,可以提升训练代码的安全性。
在本公开实施例的一种可能的实现方式中,为了进一步提升训练代码的安全性,还可以在训练代码中封入鉴权脚本,以利用该鉴权脚本对使用训练代码的用户端进行鉴权。下面结合实施例三,对上述过程进行详细说明。
图3为本公开实施例三所提供的加密方法的流程示意图。
如图3所示,该加密方法可以包括以下步骤:
步骤301,获取训练代码,其中,训练代码用于对神经网络模型进行训练。
步骤302,确定训练代码中包含神经网络模型的模型参数的预设文件。
步骤303,对预设文件进行加密,以得到更新后的训练代码。
步骤301至303的执行过程可以参见上述任一实施例的执行过程,在此不做赘述。
步骤304,在更新后的训练代码中加入鉴权脚本,其中,鉴权脚本,用于对使用训练代码的用户端进行身份鉴权、使用时间鉴权和使用次数鉴权中的至少一项。
在本公开实施例中,可以在更新后的训练代码中加入鉴权脚本,通过该鉴权脚本确定使用训练代码的用户是否为授权用户,若为授权用户,则鉴权通过,若不为授权用户,则鉴权不通过。
在本公开实施例中,还可以通过该鉴权脚本确定用户使用训练代码的使用时间是否为有效使用时间,比如,可以设置用户使用训练代码的最大时长,当用户的使用时间超过该最大时长时,则确定用户为非法使用训练代码,鉴权不通过,而当用户的使用时间未超过该最大时长时,则确定用户为合法使用训练代码,鉴权通过。
在本公开实施例中,还可以通过该鉴权脚本确定用户使用训练代码的使用次数是否为有效使用次数,比如可以设定用户使用训练代码的最大次数,当用户的使用次数超过该最大次数时,则确定用户为非法使用训练代码,鉴权不通过,而当用户的使用次数未超过该最大次数时,则确定用户为合法使用训练代码,鉴权通过。
步骤305,对加入鉴权脚本的更新后的训练代码进行编译,以得到字节码文件。
步骤305的执行过程可以参见上述任一实施例的执行过程,在此不做赘述。
作为一种示例,本公开可以使用以下3个组件,来对训练代码进行加密:
第一个组件:定制化的python版本,本公开中记为自定义python版本,该自定义python版本能够对训练代码进行加固,将训练代码编译为用户不可读的pyc文件,并且,该自定义python版本编译出来的pyc文件无法反编译为可读的py文件,且无法使用其余版本的python脚本执行,仅可以采用该自定义python版本执行上述pyc文件。
第二个组件:加解密脚本,该加解密脚本包括对文件进行加密的加密脚本,以及对文件进行解密的解密脚本,具体地,可以通过设定秘钥对文件进行加密和解密。
第三个组件:鉴权脚本,用于对用户进行身份鉴权,并控制用户的使用时间、使用次数等。进一步地,还可以在训练代码部署的服务器上部署一个鉴权服务,以利用该鉴权服务对用户进行鉴权。
首先,如图4所示,可以调用加密脚本,使用设定秘钥对训练代码中包含需要保密的权重、配置等信息的文件进行加密,得到加密后的文件,可以防止模型中的重要信息泄露。然后,如图5所示,可以将秘钥、加密脚本和解密脚本写入训练代码中。
并且,如图5所示,还可以在训练代码中加入鉴权脚本,该脚本可以在训练代码运行时请求鉴权服务,通过鉴权服务确定是否为授权用户在合法的使用训练代码。
最后,如图5所示,可以使用自定义python版本将所有训练代码编译为pyc格式,由于秘钥、加密脚本、解密脚本、鉴权脚本均封入了python代码中编译成了pyc格式,对外均不可见,其他用户无法通过修改代码去跳过这些部分,从而完成了整个训练代码的加密。
本公开实施例的加密方法,通过在更新后的训练代码中加入鉴权脚本,其中,鉴权脚本,用于对使用训练代码的用户端进行身份鉴权、使用时间鉴权和使用次数鉴权中的至少一项。由此,采用鉴权脚本对使用训练代码的用户端进行鉴权,可以进一步提升训练代码的安全性。
上述为加密方法对应的实施例,本公开还提出一种解密方法。
图6为本公开实施例四所提供的解密方法的流程示意图。
如图6所示,该解密方法可以包括以下步骤:
步骤601,获取字节码文件,其中,字节码文件是采用如图1至图3任一实施例提出的加密方法得到的。
在本公开实施例中,在编译得到字节码文件后,可以将字节码文件部署在服务器上,从而可以从服务器获取该字节码文件。
步骤602,响应于启动指令,运行字节码文件。
在本公开实施例中,用户可以通过输入启动代码的方式,来触发启动指令,从而解密装置可以响应于启动指令,自动运行字节码文件。比如,可以通过自定义python版本自动运行上述字节码文件。
步骤603,对字节码文件中的预设文件进行解密,并利用字节码文件和解密后的预设文件对神经网络模型进行训练。
在本公开实施例中,可以采用与加密算法对应的解密算法,对解码后的训练代码中预设文件进行解密,并利用字节码文件和解密后的预设文件对神经网络模型进行训练。
需要说明的是,上述解密过程对于用户而言是不可见的,用户能够看到的仅为不可读的字节码文件,在模型训练时,用户只需输入启动指令,即可自动运行字节码文件,对字节码文件中的预设文件进行解密,并利用解密后的预设文件和字节码文件对模型进行训练,可以提升训练代码的安全性。
本公开实施例的解密方法,通过获取字节码文件,并响应于启动指令,运行字节码文件,之后对字节码文件中的预设文件进行解密,并利用字节码文件和解密后的预设文件对神经网络模型进行训练。本公开中,由于解密过程对于用户而言是不可见的,用户能够看到的仅为不可读的字节码文件,在模型训练时,用户只需输入启动指令,即可自动运行字节码文件,对字节码文件中的预设文件进行解密,并利用解密后的预设文件和字节码文件对模型进行训练,可以提升训练代码的安全性。
为了清楚说明上述实施例中是如何对预设文件进行解密的,本公开提供了另一种解密方法。
图7为本公开实施例五所提供的解密方法的流程示意图。
如图7所示,该解密方法可以包括以下步骤:
步骤701,获取字节码文件,其中,字节码文件是采用如图1至图3任一实施例提出的加密方法得到的。
步骤702,响应于启动指令,运行字节码文件。
步骤701至702的执行过程可以参见上述实施例中步骤601至602的执行过程,在此不做赘述。
步骤703,获取字节码文件中的设定秘钥和解密脚本。
在本公开实施例中,在字节码文件的运行过程中,可以从字节码文件中,获取设定秘钥和解密脚本。
作为一种示例,在加密阶段,可以在训练代码的初始化部分,写入设定秘钥、加密脚本和用于对加密后的预设文件进行解密的解密脚本,从而本公开中,在解密阶段,可以从字节码文件的初始化部分,获取设定秘钥和解密脚本。
步骤704,根据设定秘钥,对预设文件执行解密脚本,以对预设文件进行解密。
在本公开实施例中,可以采用设定秘钥,对预设文件执行解密脚本,以对预设文件进行解密。
步骤705,利用字节码文件和解密后的预设文件对神经网络模型进行训练。
步骤705的执行过程可以参见上述实施例中步骤604的执行过程,在此不做赘述。
本公开实施例的解密方法,通过获取字节码文件中的设定秘钥和解密脚本,根据设定秘钥,对预设文件执行解密脚本,以对预设文件进行解密。由此,可以实现对字节码文件中加密的预设文件进行解密,得到未加密的预设文件,从而可以利用未加密的预设文件对神经网络模型进行训练,可以提升模型训练的有效性。
在本公开实施例的一种可能的实现方式中,为了进一步提升训练代码的安全性,在加密阶段,还可以在训练代码中封入鉴权脚本,相应的,在解密阶段,可以获取字节码文件中的鉴权脚本,以利用该鉴权脚本对使用字节码文件的用户端进行鉴权。下面结合实施例六,对上述过程进行详细说明。
图8为本公开实施例六所提供的解密方法的流程示意图。
如图8所示,该解密方法可以包括以下步骤:
步骤801,获取字节码文件,其中,字节码文件是采用如图1至图3任一实施例提出的加密方法得到的。
步骤802,响应于启动指令,运行字节码文件。
步骤803,对字节码文件中的预设文件进行解密。
步骤801至803的执行过程可以参见上述任一实施例的执行过程,在此不做赘述。
步骤804,获取字节码文件中的鉴权脚本。
需要说明的是,本公开对步骤804的执行时序不作限制,可以在运行字节码文件的任一阶段,获取该鉴权脚本,比如,步骤804可以在步骤803之前执行,或者,步骤804可以和步骤803并列执行,而上述仅以步骤804在步骤803之后执行进行示例。
步骤805,对字节码文件执行鉴权脚本,以对使用字节码文件的用户端进行身份鉴权、使用时间鉴权和使用次数鉴权中的至少一项。
在本公开实施例中,可以获取字节码文件中的鉴权脚本,通过该鉴权脚本确定使用字节码文件的用户是否为授权用户,若为授权用户,则鉴权通过,若不为授权用户,则鉴权不通过。
在本公开实施例中,还可以通过该鉴权脚本确定用户使用字节码文件的使用时间是否为有效使用时间,比如,可以设置用户使用字节码文件的最大时长,当用户的使用时间超过该最大时长时,则确定用户为非法使用训练代码,鉴权不通过,而当用户的使用时间未超过该最大时长时,则确定用户为合法使用字节码文件,鉴权通过。
在本公开实施例中,还可以通过该鉴权脚本确定用户使用字节码文件的使用次数是否为有效使用次数,比如可以设定用户使用字节码文件的最大次数,当用户的使用次数超过该最大次数时,则确定用户为非法使用字节码文件,鉴权不通过,而当用户的使用次数未超过该最大次数时,则确定用户为合法使用字节码文件,鉴权通过。
步骤806,在鉴权通过时,采用字节码文件和解密后的预设文件对神经网络模型进行训练。
在本公开实施例中,为了确保是授权用户在合法的使用字节码文件,只有在鉴权通过的情况下,才采用字节码文件和解密后的预设文件对神经网络模型进行训练。
在本公开的任意一个实施例之中,还可以获取字节码文件中的加密脚本,在神经网络模型训练完成后,可以利用加密脚本对训练后的神经网络模型的模型参数进行加密,由此,可以保证模型数据的安全性。
本公开实施例的解密方法,通过对字节码文件执行鉴权脚本,以对使用字节码文件的用户端进行身份鉴权、使用时间鉴权和使用次数鉴权中的至少一项,在鉴权通过时,采用字节码文件和解密后的预设文件对神经网络模型进行训练。由此,采用鉴权脚本对使用字节码文件的用户端进行鉴权,当鉴权通过时,即授权用户在合法的使用字节码文件时,才采用字节码文件对神经网络模型进行训练,可以进一步提升训练代码的安全性。
与上述图1至图3实施例提供的加密方法相对应,本公开还提供一种加密装置,由于本公开实施例提供的加密装置与上述图1至图3实施例提供的加密方法相对应,因此在加密方法的实施方式也适用于本公开实施例提供的加密装置,在本公开实施例中不再详细描述。
图9为本公开实施例七所提供的加密装置的结构示意图。
如图9所示,该加密装置900可以包括:第一获取模块910、确定模块920、加密模块930以及编译模块940。
其中,第一获取模块910,用于获取训练代码,其中,训练代码用于对神经网络模型进行训练。
确定模块920,用于确定训练代码中包含神经网络模型的模型参数的预设文件。
加密模块930,用于对预设文件进行加密,以得到更新后的训练代码。
编译模块940,用于对更新后的训练代码进行编译,以得到字节码文件。
在本公开实施例的一种可能的实现方式中,加密模块930,具体用于:根据设定秘钥,对预设文件执行加密脚本,以对预设文件进行加密得到加密后的预设文件;在训练代码中,写入设定秘钥、加密脚本和用于对加密后的预设文件进行解密的解密脚本,以得到更新后的训练代码。
在本公开实施例的一种可能的实现方式中,编译模块940,具体用于:采用自定义python版本,对更新后的训练代码进行编译,得到pyc格式的字节码文件。
在本公开实施例的一种可能的实现方式中,该加密装置900还可以包括:添加模块。
添加模块,用于在更新后的训练代码中加入鉴权脚本,其中,鉴权脚本,用于对使用训练代码的用户端进行身份鉴权、使用时间鉴权和使用次数鉴权中的至少一项。
本公开实施例的加密装置,通过获取训练代码,并确定训练代码中包含神经网络模型的模型参数的预设文件,并对预设文件进行加密,以得到更新后的训练代码,以及对更新后的训练代码进行编译,以得到字节码文件。由此,可以实现对训练代码中重要性较高的预设文件进行加密,可以提升训练代码的安全性,并且,通过编译,字节码文件对用户而言是不可见的,可以进一步提升训练代码的安全性。
与上述图6至图8实施例提供的解密方法相对应,本公开还提供一种解密装置,由于本公开实施例提供的解密装置与上述图6至图8实施例提供的解密方法相对应,因此在解密方法的实施方式也适用于本公开实施例提供的解密装置,在本公开实施例中不再详细描述。
图10为本公开实施例八所提供的解密装置的结构示意图。
如图10所示,该解密装置1000可以包括:第二获取模块1010、解码模块1020、解密模块1030以及训练模块1040。
其中,第二获取模块1010,用于获取字节码文件,其中,字节码文件是采用如图9实施例提出的加密装置得到的。
解码模块1020,用于响应于启动指令,运行字节码文件。
解密模块1030,用于对字节码文件中的预设文件进行解密。
训练模块1040,用于利用字节码文件和解密后的预设文件对神经网络模型进行训练。
在本公开实施例的一种可能的实现方式中,解密模块1030,具体用于:获取字节码文件中的设定秘钥和解密脚本;根据设定秘钥,对预设文件执行解密脚本,以对预设文件进行解密。
在本公开实施例的一种可能的实现方式中,该解密装置1000还可以包括:第三获取模块和执行模块。
其中,第三获取模块,用于获取字节码文件中的鉴权脚本。
执行模块,用于对字节码文件执行鉴权脚本,以对使用字节码文件的用户端进行身份鉴权、使用时间鉴权和使用次数鉴权中的至少一项。
在本公开实施例的一种可能的实现方式中,该解密装置1000还可以包括:第四获取模块和加密模块。
第四获取模块,用于获取字节码文件中的加密脚本。
加密模块,用于在神经网络模型训练完成后,利用加密脚本对训练后的神经网络模型的模型参数进行加密。
本公开实施例的解密装置,通过获取字节码文件,并响应于启动指令,运行字节码文件,之后对字节码文件中的预设文件进行解密,并利用字节码文件和解密后的预设文件对神经网络模型进行训练。本公开中,由于解密过程对于用户而言是不可见的,用户能够看到的仅为不可读的字节码文件,在模型训练时,用户只需输入启动指令,即可自动运行字节码文件,对字节码文件中的预设文件进行解密,并利用解密后的预设文件和字节码文件对模型进行训练,可以提升训练代码的安全性。
为了实现上述实施例,本公开还提供一种电子设备,该电子设备可以包括至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开上述任一实施例提出的加密方法,或者,执行本公开上述任一实施例提出的解密方法。
为了实现上述实施例,本公开还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开上述任一实施例提出的加密方法,或者,执行本公开上述任一实施例提出的解密方法。
为了实现上述实施例,本公开还提供一种计算机程序产品,该计算机程序产品包括计算机程序,计算机程序在被处理器执行时实现本公开上述任一实施例提出的加密方法,或者,实现本公开上述任一实施例提出的解密方法。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图11示出了可以用来实施本公开的实施例的示例电子设备的示意性框图。其中,电子设备可以包括上述实施例中的服务端、客户端。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图11所示,设备1100包括计算单元1101,其可以根据存储在ROM(Read-OnlyMemory,只读存储器)1102中的计算机程序或者从存储单元1107加载到RAM(Random AccessMemory,随机访问/存取存储器)1103中的计算机程序,来执行各种适当的动作和处理。在RAM 1103中,还可存储设备1100操作所需的各种程序和数据。计算单元1101、ROM 1102以及RAM 1103通过总线1104彼此相连。I/O(Input/Output,输入/输出)接口1105也连接至总线1104。
设备1100中的多个部件连接至I/O接口1105,包括:输入单元1106,例如键盘、鼠标等;输出单元1107,例如各种类型的显示器、扬声器等;存储单元1108,例如磁盘、光盘等;以及通信单元1109,例如网卡、调制解调器、无线通信收发机等。通信单元1109允许设备1100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1101可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1101的一些示例包括但不限于CPU(Central Processing Unit,中央处理单元)、GPU(Graphic Processing Units,图形处理单元)、各种专用的AI(Artificial Intelligence,人工智能)计算芯片、各种运行机器学习模型算法的计算单元、DSP(Digital SignalProcessor,数字信号处理器)、以及任何适当的处理器、控制器、微控制器等。计算单元1101执行上文所描述的各个方法和处理,例如上述加密方法或解密方法。例如,在一些实施例中,上述加密方法或解密方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1108。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1102和/或通信单元1109而被载入和/或安装到设备1100上。当计算机程序加载到RAM 1103并由计算单元1101执行时,可以执行上文描述的加密方法或解密方法的一个或多个步骤。备选地,在其他实施例中,计算单元1101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述加密方法或解密方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、FPGA(Field Programmable Gate Array,现场可编程门阵列)、ASIC(Application-Specific Integrated Circuit,专用集成电路)、ASSP(Application Specific StandardProduct,专用标准产品)、SOC(System On Chip,芯片上系统的系统)、CPLD(ComplexProgrammable Logic Device,复杂可编程逻辑设备)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、RAM、ROM、EPROM(Electrically Programmable Read-Only-Memory,可擦除可编程只读存储器)或快闪存储器、光纤、CD-ROM(Compact Disc Read-Only Memory,便捷式紧凑盘只读存储器)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(Cathode-Ray Tube,阴极射线管)或者LCD(Liquid Crystal Display,液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:LAN(LocalArea Network,局域网)、WAN(Wide Area Network,广域网)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(VirtualPrivate Server,虚拟专用服务器)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
其中,需要说明的是,人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
根据本公开实施例的技术方案,通过获取训练代码,并确定训练代码中包含神经网络模型的模型参数的预设文件,并对预设文件进行加密,以得到更新后的训练代码,以及对更新后的训练代码进行编译,以得到字节码文件。由此,可以实现对训练代码中重要性较高的预设文件进行加密,可以提升训练代码的安全性,并且,通过编译,字节码文件对用户而言是不可见的,可以进一步提升训练代码的安全性。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (19)

1.一种加密方法,包括:
获取训练代码,其中,所述训练代码用于对神经网络模型进行训练;
确定所述训练代码中包含所述神经网络模型的模型参数的预设文件;
对所述预设文件进行加密,以得到更新后的训练代码;
对所述更新后的训练代码进行编译,以得到字节码文件。
2.如权利要求1所述的方法,其中,所述对所述预设文件进行加密,以得到更新后的训练代码,包括:
根据设定秘钥,对所述预设文件执行加密脚本,以对所述预设文件进行加密得到加密后的预设文件;
在所述训练代码中,写入所述设定秘钥、所述加密脚本和用于对所述加密后的预设文件进行解密的解密脚本,以得到所述更新后的训练代码。
3.如权利要求1所述的方法,其中,所述对所述更新后的训练代码进行编译,得到字节码文件,包括:
采用自定义python版本,对所述更新后的训练代码进行编译,得到pyc格式的字节码文件。
4.如权利要求1-3任一项所述的方法,其中,所述对所述更新后的训练代码进行编译,得到字节码文件之前,所述方法还包括:
在所述更新后的训练代码中加入鉴权脚本,其中,所述鉴权脚本,用于对使用所述训练代码的用户端进行身份鉴权、使用时间鉴权和使用次数鉴权中的至少一项。
5.一种解密方法,包括:
获取字节码文件,其中,所述字节码文件是采用如权利要求1-4任一项所述的加密方法得到的;
响应于启动指令,运行所述字节码文件;
对所述字节码文件中的预设文件进行解密,并利用所述字节码文件和解密后的预设文件对神经网络模型进行训练。
6.如权利要求5所述的方法,其中,所述对所述字节码文件中的预设文件进行解密,包括:
获取所述字节码文件中的设定秘钥和解密脚本;
根据所述设定秘钥,对所述预设文件执行所述解密脚本,以对所述预设文件进行解密。
7.如权利要求5所述的方法,其中,所述方法还包括:
获取所述字节码文件中的鉴权脚本;
对所述字节码文件执行所述鉴权脚本,以对使用所述字节码文件的用户端进行身份鉴权、使用时间鉴权和使用次数鉴权中的至少一项。
8.如权利要求5-7任一项所述的方法,其中,所述方法还包括:
获取所述字节码文件中的加密脚本;
在所述神经网络模型训练完成后,利用所述加密脚本对训练后的所述神经网络模型的模型参数进行加密。
9.一种加密装置,包括:
第一获取模块,用于获取训练代码,其中,所述训练代码用于对神经网络模型进行训练;
确定模块,用于确定所述训练代码中包含所述神经网络模型的模型参数的预设文件;
加密模块,用于对所述预设文件进行加密,以得到更新后的训练代码;
编译模块,用于对所述更新后的训练代码进行编译,以得到字节码文件。
10.如权利要求9所述的装置,其中,所述加密模块,具体用于:
根据设定秘钥,对所述预设文件执行加密脚本,以对所述预设文件进行加密得到加密后的预设文件;
在所述训练代码中,写入所述设定秘钥、加密脚本和用于对所述加密后的预设文件进行解密的解密脚本,以得到所述更新后的训练代码。
11.如权利要求9所述的装置,其中,所述编译模块,具体用于:
采用自定义python版本,对所述更新后的训练代码进行编译,得到pyc格式的字节码文件。
12.如权利要求9-11任一项所述的装置,其中,所述装置还包括:
添加模块,用于在所述更新后的训练代码中加入鉴权脚本,其中,所述鉴权脚本,用于对使用所述训练代码的用户端进行身份鉴权、使用时间鉴权和使用次数鉴权中的至少一项。
13.一种解密装置,包括:
第二获取模块,用于获取字节码文件,其中,所述字节码文件是采用如权利要求9-12任一项所述的加密装置得到的;
解码模块,用于响应于启动指令,运行所述字节码文件;
解密模块,用于对所述字节码文件中的预设文件进行解密;
训练模块,用于利用所述字节码文件和解密后的预设文件对神经网络模型进行训练。
14.如权利要求13所述的装置,其中,所述解密模块,具体用于:
获取所述字节码文件中的设定秘钥和解密脚本;
根据所述设定秘钥,对所述预设文件执行所述解密脚本,以对所述预设文件进行解密。
15.如权利要求13所述的装置,其中,所述装置还包括:
第三获取模块,用于获取所述字节码文件中的鉴权脚本;
执行模块,用于对所述字节码文件执行所述鉴权脚本,以对使用所述字节码文件的用户端进行身份鉴权、使用时间鉴权和使用次数鉴权中的至少一项。
16.如权利要求13-15任一项所述的装置,其中,所述装置还包括:
第四获取模块,用于获取所述字节码文件中的加密脚本;
加密模块,用于在所述神经网络模型训练完成后,利用所述加密脚本对训练后的所述神经网络模型的模型参数进行加密。
17.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-4中任一项所述的加密方法,或者,执行权利要求5-8中任一项所述的解密方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-4中任一项所述的加密方法,或者,执行根据权利要求5-8中任一项所述的解密方法。
19.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-4中任一项所述的加密方法,或者,执行根据权利要求5-8中任一项所述的解密方法。
CN202110698848.6A 2021-06-23 2021-06-23 加密方法及其装置、解密方法及其装置、电子设备和介质 Active CN113591040B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110698848.6A CN113591040B (zh) 2021-06-23 2021-06-23 加密方法及其装置、解密方法及其装置、电子设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110698848.6A CN113591040B (zh) 2021-06-23 2021-06-23 加密方法及其装置、解密方法及其装置、电子设备和介质

Publications (2)

Publication Number Publication Date
CN113591040A true CN113591040A (zh) 2021-11-02
CN113591040B CN113591040B (zh) 2023-10-24

Family

ID=78244439

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110698848.6A Active CN113591040B (zh) 2021-06-23 2021-06-23 加密方法及其装置、解密方法及其装置、电子设备和介质

Country Status (1)

Country Link
CN (1) CN113591040B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175677A (zh) * 2019-04-16 2019-08-27 平安普惠企业管理有限公司 自动更新方法、装置、计算机设备及存储介质
CN110569106A (zh) * 2019-08-27 2019-12-13 Oppo广东移动通信有限公司 代码加载方法、装置、电子设备及计算机可读介质
CN111159757A (zh) * 2019-12-18 2020-05-15 成都烽创科技有限公司 文件加密方法、解密方法及相应装置
CN111240654A (zh) * 2020-01-03 2020-06-05 福建天晴在线互动科技有限公司 一种Python代码加固保护的方法及其系统
CN111241559A (zh) * 2020-01-07 2020-06-05 深圳壹账通智能科技有限公司 训练模型保护方法、装置、系统、设备和计算机存储介质
CN111290781A (zh) * 2020-03-10 2020-06-16 网易(杭州)网络有限公司 Npk方式打包脚本、运行npk格式脚本文件的方法及装置
WO2021106077A1 (ja) * 2019-11-26 2021-06-03 日本電気株式会社 ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム
CN113010181A (zh) * 2021-03-24 2021-06-22 北京百度网讯科技有限公司 一种深度学习框架之中算子的部署方法、装置及电子设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175677A (zh) * 2019-04-16 2019-08-27 平安普惠企业管理有限公司 自动更新方法、装置、计算机设备及存储介质
CN110569106A (zh) * 2019-08-27 2019-12-13 Oppo广东移动通信有限公司 代码加载方法、装置、电子设备及计算机可读介质
WO2021106077A1 (ja) * 2019-11-26 2021-06-03 日本電気株式会社 ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム
CN111159757A (zh) * 2019-12-18 2020-05-15 成都烽创科技有限公司 文件加密方法、解密方法及相应装置
CN111240654A (zh) * 2020-01-03 2020-06-05 福建天晴在线互动科技有限公司 一种Python代码加固保护的方法及其系统
CN111241559A (zh) * 2020-01-07 2020-06-05 深圳壹账通智能科技有限公司 训练模型保护方法、装置、系统、设备和计算机存储介质
CN111290781A (zh) * 2020-03-10 2020-06-16 网易(杭州)网络有限公司 Npk方式打包脚本、运行npk格式脚本文件的方法及装置
CN113010181A (zh) * 2021-03-24 2021-06-22 北京百度网讯科技有限公司 一种深度学习框架之中算子的部署方法、装置及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
胥小波;聂小明;: "基于多层感知器神经网络的WebShell检测方法", 通信技术, no. 04 *
陈悟;顾乃杰;杜云开;: "一种有效的Python字节码保护方法", 电子技术, no. 06 *

Also Published As

Publication number Publication date
CN113591040B (zh) 2023-10-24

Similar Documents

Publication Publication Date Title
Dhillon Developer-driven threat modeling: Lessons learned in the trenches
CN104680039B (zh) 一种应用程序安装包的数据保护方法及装置
CN111079152B (zh) 一种模型部署方法、装置及设备
CN108848058A (zh) 智能合约处理方法及区块链系统
WO2023029447A1 (zh) 模型保护方法、装置、设备、系统以及存储介质
CN110532165B (zh) 应用程序安装包特性检测方法、装置、设备及存储介质
CN107431620B (zh) 广播加密方案的运行时实例化
CN107871066B (zh) 基于安卓系统的代码编译方法及装置
CN113806806A (zh) 一种用于网页截图的脱敏、还原方法和系统
CN111200593A (zh) 应用登录方法、装置和电子设备
CN110262908A (zh) 一种剪切板数据的处理方法及装置
CN115150063A (zh) 模型加密的方法、装置及电子设备
CN113448545B (zh) 机器学习模型服务化的方法、设备、存储介质及程序产品
CN110457869A (zh) 程序编译加密方法、装置、存储介质及电子设备
CN109711178A (zh) 一种键值对的存储方法、装置、设备及存储介质
CN113378025A (zh) 数据处理方法、装置、电子设备及存储介质
US8904508B2 (en) System and method for real time secure image based key generation using partial polygons assembled into a master composite image
CN114154123B (zh) 应用于Python项目的加密保护方法
CN113591040B (zh) 加密方法及其装置、解密方法及其装置、电子设备和介质
CN113741949B (zh) 一种应用程序安装包的生成方法、装置、设备及存储介质
CN115203674A (zh) 一种应用程序自动登录方法、系统、装置及存储介质
KR102317471B1 (ko) 프로그램이 악성 코드를 포함하는지 판단하는 전자 장치 및 그 제어 방법
CN113221554A (zh) 文本处理方法、装置、电子设备和存储介质
CN114817937A (zh) 键盘加密方法、设备、存储介质及计算机程序产品
CN111488602A (zh) 数据对象的隐私保护方法、装置及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant