This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TM4C129ENCPDT:TM4C129ENCPDT 微控制器中的 RSA、AES 加密算法和文件压缩(创建.zip 文件)

Guru**** 1839620 points
Other Parts Discussed in Thread: EK-TM4C129EXL
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/582037/ccs-tm4c129encpdt-rsa-aes-encryption-algorithm-and-file-compression-to-create-a-zip-file-in-tm4c129encpdt-microcontroller

器件型号:TM4C129ENCPDT

工具/软件:Code Composer Studio

尊敬的所有人:

我目前正在处理一个需要 RSA 和 AES 进行数据加密的项目、加密后、我必须压缩整个文件、并应将其发送到客户的 HTTP 服务器。

能不能有人告诉我有关这些实现的建议。 我不熟悉数据加密和压缩算法。

谢谢、此致、

Renil Raju

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在 TivaWare 库中、有几个针对 EK-TM4C129EXL Launchpad 使用 AES 加密的示例。 如果您将 适用于 TM4C 的 TI-RTOS 安装到 CCS 中、则有 HTTP 客户端示例。 我没有 RSA 示例、但 WolfSSL 提供了第三方支持

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Bob:

    感谢您的快速回复。

    我在 CCS 中找到了一些用于 AES 加密的电路板示例、我将尝试这些代码。

    对于 RSA、我将根据您的建议尝试使用 WolfSSL。

    但是,您能否告诉我如何在微控制器中将文件(可能是小于5K 大小的文本文件)压缩为通用的“.ZIP”格式,或者是否可以在嵌入式系统中压缩文件?

    我已经在"miniz"、"zlib"等第三方应用程序库中尝试过这种方法;但嵌入式系统不支持这些库、而且在我们的工作空间中也很难实现。 此外、它们的压缩格式与在我们的案例中不可接受的".zip "格式不同。


    我正在等待您的宝贵建议、再次感谢您。

    此致、
    Renil Raju
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Renil Raju"]……如何压缩文件(可能是小于5K 大小的文本文件)[/quot]

    您可能会注意到(某些)文件在文件压缩过程中会出现"开销"(大小增加)。   因此、如果文件(<5K)太小、您会怀疑"对于<5K、压缩降压、会有很大的影响"。  (可能会击败您的"存在理由"。)

    Fire/I 在5-6年前尝试过此类操作-基于图形图像。   (不是 JPG)  IIRC 需要大量 RAM -通常超过基于闪存的嵌入式 MCU。  如您所知-"资源匮乏"系统(即此处的系统)通常必须以"分数和/或区块"攻击此类要求-显著(减缓和复杂)流程...

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 CB1:

    非常感谢您的即时回复。

    我为嵌入式系统的文件压缩方法/库进行了大量 google、正如您说过的、我发现在我们的工作环境中很难实现这一点。 尽管如此、将文件压缩到".zip "文件仍是客户的要求、因此我们需要尽力满足他们的需求。

    然后、让我先尝试 AES 和 RSA 加密、我一定会告诉您结果。


    谢谢、此致、
    Renil Raju
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我的朋友、也感谢您。 您已经完成了一个涉及到的且耗时的项目-我建议您尝试从您的嵌入式设计中"激发"".zip"部分。  (可能、有时也可能、.zip 文件可通过 PC 进行处理、作为一个整体的辅助操作。  (这始终证明:更快、更轻松)

    当太多项目侵入您邀请的工作合同时、您会面临巨大风险-您不会这样做吗?  您可能只希望"同意并接受"属于"确定事项"的项目-这会确保您为将要执行的大部分工作付款。 "最后一英里"(最后一步)通常证明是"杀手"(这是此处的".zip "要求-我认为)、并且无法交付(小)件作品、不能将您(整个)的工作努力的回报置于危险之中...

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 CB1:

    再次感谢您的即时响应。

    "您可能只希望"同意并接受"属于"确定事项"的项目-这会确保您为您将要执行的大部分工作付款。 "

    正如我在第一篇文章中所说的,我不熟悉“文件加密/压缩算法”,我不知道这些目标背后的很多复杂问题。 这就是我在 e2e 社区中要求获得专家建议的原因。 )

     再次感谢 CB1提供宝贵的回复。

    谢谢、此致、

    Renil Raju

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    请参阅此链接:  了解可用于嵌入式系统的压缩库。 我没有测试过它。 也可以搜索 zlib、但这个需要更大 的资源。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Petrei、

    感谢您的建议。 让我检查一下"基本压缩库"、我将告诉您是否有任何改进。

    谢谢、此致、
    Renil Raju
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Petrei、

    这些都是有用的资源-但每一个都提取(某些)大小罚分-并且"压缩"此用户的文件(大小小于5K)可能不会证明太有用...  (即压缩结果可能为标称值)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 CB1、

    是的、我同意您的观点、但有些客户非常不灵活、我遇到了这些具有果断 能力(以及大脑较小)的客户/人员、尽管有技术原因、但妥协的解决方案是接受。 也许你也有一些不愉快的经历...

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    实际上,Petrei ----使我不得不去(另一所)专业学校学习减少(理想情况下消除)合同义务的策略/方法,因为这可能会使(任何)付款成为人质----直到交付品的整个(洗衣清单)都已提交。

    通常(但并非总是)大型公司会签订此类合同、可能"知道"某些因素会带来过度挑战、从而能够减少付款、延长延迟(或更糟糕的情况)避免付款。

    "要求过于复杂"的"双对"是指这些客户倾向于"要求对原始项目进行更改/添加"、而不会(任何)增加支付给开发团队的"额外工作"的费用。   (正如您所知、这些客户(始终)会将此类添加描述为"简单"、但现实却告诉我们(很少)真实!)   良好的合同应注意、(任何)买家寻求的更改或添加几乎可以确定为"添加成本和费用并延迟可交付结果!"   (和-开发人员/卖家可能不接受...  良好的防御(即准备充分的防御)证明了最佳的犯罪行为。)

    Venditor 警告... (请让卖家(此处为开发人员)注意)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Petrei 和 CB1:

    我完全同意你在这些前几篇文章中所说的话。 非常感谢您在这里分享您的个人体验。

    我是软件开发人员、只有不到2年的经验、并且尝试学习我不熟悉的新事物。 因此,通过开展这一项目,我至少会从我自己的经验中了解"应该做什么"和"不应该做什么"。

    很抱歉、大家在任何时候、此帖子会浪费您宝贵的时间、但我认为至少这可能对寻求类似要求的人有所帮助。

    @Petrei、

    我尝试了输入721字节的"基本压缩库"(稍后我将尝试大量数据)、结果如下;

    =================== >>压缩测试:1. RLE 压缩!

    正在测试 test.txt ...
    压缩:463/721字节(64.21%)-好! //输出文件大小/输入文件大小字节和百分比

    =================== >>压缩测试:2. Huffman_Compress!

    (不起作用、我将检查代码实现)

    =================== >>压缩测试:3. Rice_Compress 8位!

    正在测试 test.txt ...
    压缩:677/721字节(93.89%)-好!

    =================== >>压缩测试:4. Rice_Compress 16位!

    正在测试 test.txt ...
    压缩:700/721字节(97.08%)-好!

    =================== >>压缩测试:5. Rice_Compress 32位!

    正在测试 test.txt ...
    压缩:710/721字节(98.47%)-好!

    =================== >>压缩测试:6. Rice_Compress 8位!

    正在测试 test.txt ...
    压缩:722/721字节(100.13%)-好!
    malloc 已释放!!

    =================== >>压缩测试:7. Rice_Compress 16位!

    正在测试 test.txt ...
    压缩:721/721字节(100.00%)-好的!

    =================== >>压缩测试:8. Rice_Compress 32位!

    正在测试 test.txt ...
    压缩:721/721字节(100.00%)-好的!

    =================== >>压缩测试:9. LZ_Compress!

    正在测试 test.txt ...
    压缩:379/721字节(52.56%)-好!
    malloc 已释放!!

    =================== >>压缩测试:10. LZ_CompressFast!

    正在测试 test.txt ...{MODUT#59}:第307行:内存不足:handle=0x2003a6a8、size=265036
    00028.143 mmBulkAlloc():无法分配内存。
    00028.143内存不足:handle=0x0、size=537028716

    (此方法需要"mmBulkAlloc (sizeof (unsigned int)*(65536+insize)"。目前我没有(不会)这么多的堆内存、所以我忽略了这一点)


    您能否告诉我(如果您知道)"ISO-7168 Zip 格式"代表什么? 我已经用谷歌搜索了很多,但是不知道有什么线索。


    谢谢、此致、
    Renil Raju
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     您可以成功完成压缩测试。 使用您需要的任何方法,而不是所有方法。

    此外,ISO-7168 Zip 格式是与空气质量数据交换格式相关的标准,请参阅:

    请注意、本文档不是免费的、如果您的公司确实需要使用、则必须仔细阅读。