# BTC 学习笔记连载(5)——公钥密码学:ECC **Published by:** [Crypto 吊车尾](https://paragraph.com/@imsongoku/) **Published on:** 2022-09-18 **URL:** https://paragraph.com/@imsongoku/btc-5-ecc ## Content 欢迎交流:twitter.com/songoku_web3 写了几篇密码学相关内容了, 我本身也不是技术出身, 这个深度理解BTC也足够了,今天最后一篇, 之前有个问题漏掉了,这里补一下:P问题、NP问题、陷门函数我们经常会提到解某个问题很困难,比如之前2篇中的多次出现的大数质因数分解问题、离散对数问题。 那到底什么是困难问题呢? 世界上存在很多已解、未解的问题,在可计算性理论与计算复杂性理论中,判断是否存在可行的方法能够解决这些问题的叫判定问题,而求解判定问题方法常被我们称为算法。 一个问题的困难程度可以用算法的复杂度来衡量,而在计算机中运行的算法有两方面的复杂度:时间复杂度、空间复杂度。时间复杂度 任何一个算法都是由很多执行步骤组成的,对于不同配置的计算机而言,运行一个相同的算法所需要的时间不同,也就必然造成耗时不同。 所以只能以算法执行过程中的操作次数来衡量时间复杂度,随便以一个循环为例说明: int a = 0; //执行1次 int i = 0; //执行1次 int j = 0; //执行1次 for(i