豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 423 行 · 22980 字节 · UTF-8
§
寻观「标准库」之「语言核心」之「内建类型」之书。
寻观「标准库」之「语言核心」之「异常」之书。
寻观「标准库」之「数据结构」之「整数操作」之书。
寻「标准库」之「数据结构」之「小数操作」之书。
寻观「标准库」之「数据结构」之「爻术」之书。
寻观「标准库」之「数据结构」之「字节串」之书。
寻观「标准库」之「数据结构」之「多态列」之书。
寻观「标准库」之「数据结构」之「可选值」之书。
寻观「标准库」之「网络」之「传输控制协议」之书。
寻观「标准库」之「数学运算」之「转换」之书。
寻观「安全外壳协议」之「协商」之书。
寻观「安全外壳协议」之「密钥交换」之书。
寻观「安全外壳协议」之「派钥」之书。
寻观「安全外壳会话」之「加密收包」之书。
寻观「安全外壳会话」之「加密发包」之书。
寻观「安全外壳会话」之「重换钥」之书。
寻观「安全外壳会话」之「服务端重换钥」之书。

「:文言:缓冲、收钥、收 IV、发钥、发 IV 同存,换钥前后不失其位。汉语:传输状态依次保存剩余密文缓冲、接收密钥与 IV、发送密钥与 IV。:」
「重换传输态」立「元类型」也。
  「在用传输态」立(化(「字节串」合「字节串」合「字节串」合「字节串」合「字节串」)而「重换传输态」)也。

「:文言:服务者续换钥须存双版行、主私种与首会话号。汉语:通道运行期间重换钥所需的客户端版本行、服务端版本行、主机私种和首次 session_id。:」
「服务端重换上下文」立「元类型」也。
  「服务端重换配置」立(化(「字节串」合「字节串」合「字节串」合「字节串」)而「服务端重换上下文」)也。

「:文言:主动再议或有先至之通道报,旧钥验后暂存。汉语:服务端主动重换钥的结果同时保存新传输状态和握手前收到的已认证通道报文。:」
「先发重换结果」立「元类型」也。
  「完成先发重换」立(化(「重换传输态」合(「列」于「字节串」))而「先发重换结果」)也。

「:文言:取 GCM IV 末二字为大端数,计短期报数;IV 长须十二。汉语:读取 12 字节 GCM IV 的低 16 位,用于有界的逐包重换阈值。:」
「GCM低十六」乃化「字节串」而「整数」也。
「GCM低十六」者会「随机数」而
  若「不等于」于(「字节串长度」于「随机数」)于「一二」则
    「发生事故」授以「整数」于『重换钥 IV 须十二字节』
  否则
    「加」
      于(「乘」于(「字节串取字节」于「随机数」于「一零」)于「二五六」)
      于(「字节串取字节」于「随机数」于「一一」)
也。

「GCM高位皆满吗」乃化「字节串」而化「整数」而「爻」也。
「GCM高位皆满吗」者会「随机数」而会「位」而
  若「等于」于「位」于「一零」则
    「阳」
  否则若「等于」于(「字节串取字节」于「随机数」于「位」)于「二五五」则
    「GCM高位皆满吗」于「随机数」于(「加」于「位」于「一」)
  否则
    「阴」
也。

「:文言:双向包数自本轮基准计,任一至限即再议;全六十四位计数将尽亦先再议。汉语:比较当前与本轮初始双向 IV 的低 16 位差;阈值为 1 至 32767 包,任一方向达到即请求重换钥。若完整 64 位计数器距末界不足 16,提前触发。:」
「应自动重换钥吗」乃
  化「字节串」而
  化「字节串」而
  化「字节串」而
  化「字节串」而
  化「整数」而
  「爻」
也。
「应自动重换钥吗」者会「发IV」而会「发基准」而会「收IV」而会「收基准」而会「包限」而
  若「小于」于「包限」于「一」则
    「发生事故」授以「爻」于『自动重换钥包限须为正数』
  否则若「大于」于「包限」于「三二七六七」则「发生事故」授以「爻」
  于『自动重换钥包限过大』
  否则
    虑「发低」者「GCM低十六」于「发IV」而
    虑「收低」者「GCM低十六」于「收IV」而
    虑「发基低」者「GCM低十六」于「发基准」而
    虑「收基低」者「GCM低十六」于「收基准」而
    虑「发差」者
      若「小于」于「发低」于「发基低」则
        「加」于(「减」于「发低」于「发基低」)于「六五五三六」
      否则
        「减」于「发低」于「发基低」
    而
    虑「收差」者
      若「小于」于「收低」于「收基低」则
        「加」于(「减」于「收低」于「收基低」)于「六五五三六」
      否则
        「减」于「收低」于「收基低」
    而
    若「大于」于「发差」于(「减」于「包限」于「一」)则
      「阳」
    否则若「大于」于「收差」于(「减」于「包限」于「一」)则
      「阳」
    否则若「且」于(「GCM高位皆满吗」于「发IV」于「四」)于(「大于」于「发低」于「六五五一九」)则
      「阳」
    否则若「且」于(「GCM高位皆满吗」于「收IV」于「四」)于(「大于」于「收低」于「六五五一九」)则「阳」
    否则
      「阴」
也。

「:文言:以单调钟两刻之差量本轮寿命,至限则请再议;倒行则拒。汉语:用调用方提供的单调时钟纳秒读数比较本轮重换钥间隔,达到 1 至 86400 秒的阈值时返回真;时钟倒退时报错。:」
「应按时重换钥吗」乃化「小数」而化「小数」而化「整数」而「爻」也。
「应按时重换钥吗」者会「本轮起时」而会「此刻」而会「秒限」而
  若「小于」于「秒限」于「一」则
    「发生事故」授以「爻」于『重换钥秒限须为正数』
  否则若「大于」于「秒限」于「八六四零零」则「发生事故」授以「爻」
  于『重换钥秒限不得超过一日』
  否则
    虑「历时」者
      「小数转整数」于(「小数操作」之「减」于「此刻」于「本轮起时」)
    而
    若「小于」于「历时」于「零」则
      「发生事故」授以「爻」于『单调时钟倒退』
    否则
      「大于」于「历时」于(「减」于(「乘」于「秒限」于「一零零零零零零零零零」)于「一」)
也。

「:文言:先解旧缓冲,未足则候网;凡控制报验而略,余报还之。汉语:在旧接收密钥下读取一条已认证的重换钥消息;跳过合法 IGNORE、UNIMPLEMENTED、DEBUG,并保留余帧和下一 IV。:」
「收重换钥载荷」乃
  化「传输连接」而
  化「字节串」而
  化「字节串」而
  化「字节串」而
  化「整数」而
  (「字节串」合「字节串」合「字节串」)
也。
「收重换钥载荷」者会「连接值」而会「缓冲」而会「钥」而会「随机数」而会「余次」而
  若「等于」于「余次」于「零」则
    「发生事故」授以(「字节串」合「字节串」合「字节串」)于『重换钥收包超时』
  否则
    虑「一步」者
      「尝试收加密报」于「连接值」于「缓冲」于「钥」于「随机数」
    而
    若「等于」于(「一步」中「零」)于「一」则(
      虑「控制种」者「分类会话传输控制」于(「一步」中「一」)
      而
      若「等于」于「控制种」于「一」则
        「收重换钥载荷」于「连接值」于(「一步」中「二」)于「钥」
          于(「一步」中「三」)
          于(「减」于「余次」于「一」)
      否则若「等于」于「控制种」于「零」则(「一步」中「一」)与(「一步」中「二」)与(「一步」中「三」)
      否则若「等于」于「控制种」于(「减」于「零」于「二」)则
        「发生事故」授以(「字节串」合「字节串」合「字节串」)
        于『重换钥对端发送 DISCONNECT』
      否则
        「发生事故」授以(「字节串」合「字节串」合「字节串」)
        于『重换钥传输控制报文非法』
    )
    否则若「等于」于(「一步」中「零」)于「零」则(
      鉴「等待可读」于「连接值」于「三零零零」而
        有(「操作成功」于「事件」)则(
          若「事件可读吗」于「事件」则
            「收重换钥载荷」
              于「连接值」
              于(「一步」中「二」)
              于「钥」
              于(「一步」中「三」)
              于(「减」于「余次」于「一」)
          否则
            「发生事故」授以(「字节串」合「字节串」合「字节串」)
            于『重换钥等待网络可读超时』
        )
        或有(「暂需等待」于「事件」)则
          「发生事故」授以(「字节串」合「字节串」合「字节串」)
          于『重换钥网络等待未完成』
        或有「连接已关闭」则
          「发生事故」授以(「字节串」合「字节串」合「字节串」)
          于『重换钥期间连接关闭』
        或有(「操作失败」于「状态」)则
          「发生事故」授以(「字节串」合「字节串」合「字节串」)
          于『重换钥网络等待失败』
    )
    否则若「等于」于(「一步」中「零」)于「二」则
      「发生事故」授以(「字节串」合「字节串」合「字节串」)
      于『重换钥期间连接关闭』
    否则
      「发生事故」授以(「字节串」合「字节串」合「字节串」)于『重换钥密报非法』
也。

「:文言:候彼 KEXINIT,先至之通道报至多十六条、一兆字,循序暂存;坏报则拒。汉语:本端已发 KEXINIT 后,用旧接收密钥逐包验证;把在途窗口调整、普通或扩展数据、EOF、CLOSE 和通道请求按顺序暂存,最多 16 条共 1 MiB,再返回对端 KEXINIT。:」
「收协商并存通道报」乃
  化「传输连接」而
  化「字节串」而
  化「字节串」而
  化「字节串」而
  化(「列」于「字节串」)而
  化「整数」而
  化「整数」而
  (「字节串」合「字节串」合「字节串」合(「列」于「字节串」))
也。
「收协商并存通道报」者会「连接值」而会「缓冲」而会「钥」而会「随机数」而会「已存」而会「已存字数」而会「余数」而
  若「等于」于「余数」于「零」则
    「发生事故」授以(「字节串」合「字节串」合「字节串」合(「列」于「字节串」))
    于『重换钥前在途报文过多』
  否则
    虑「报与余」者
      「收重换钥载荷」于「连接值」于「缓冲」于「钥」于「随机数」于「二零」
    而
    虑「载荷」者「报与余」中「零」而
    若「协商载荷可用吗」于「载荷」则
      「载荷」与(「报与余」中「一」)与(「报与余」中「二」)与「已存」
    否则若「等于」于(「字节串取字节」于「载荷」于「零」)于「二零」则
      「发生事故」授以(「字节串」合「字节串」合「字节串」合(「列」于「字节串」))
      于『在途客户端 KEXINIT 非法』
    否则若「大于」于(「字节串长度」于「载荷」)于(「减」于「一零四八五七六」于「已存字数」)则
      「发生事故」授以(「字节串」合「字节串」合「字节串」合(「列」于「字节串」))
      于『重换钥前在途报文超过上限』
    否则
      虑「种」者「字节串取字节」于「载荷」于「零」
      而
      若「等于」于「种」于「九三」则
        「收协商并存通道报」
          于「连接值」
          于(「报与余」中「一」)
          于「钥」
          于(「报与余」中「二」)
          于(「结尾多」授以「字节串」于「已存」于「载荷」)
          于(「加」于「已存字数」于(「字节串长度」于「载荷」))
          于(「减」于「余数」于「一」)
      否则若「等于」于「种」于「九四」则
        「收协商并存通道报」
          于「连接值」
          于(「报与余」中「一」)
          于「钥」
          于(「报与余」中「二」)
          于(「结尾多」授以「字节串」于「已存」于「载荷」)
          于(「加」于「已存字数」于(「字节串长度」于「载荷」))
          于(「减」于「余数」于「一」)
      否则若「等于」于「种」于「九五」则
        「收协商并存通道报」
          于「连接值」
          于(「报与余」中「一」)
          于「钥」
          于(「报与余」中「二」)
          于(「结尾多」授以「字节串」于「已存」于「载荷」)
          于(「加」于「已存字数」于(「字节串长度」于「载荷」))
          于(「减」于「余数」于「一」)
      否则若「等于」于「种」于「九六」则
        「收协商并存通道报」
          于「连接值」
          于(「报与余」中「一」)
          于「钥」
          于(「报与余」中「二」)
          于(「结尾多」授以「字节串」于「已存」于「载荷」)
          于(「加」于「已存字数」于(「字节串长度」于「载荷」))
          于(「减」于「余数」于「一」)
      否则若「等于」于「种」于「九七」则
        「收协商并存通道报」
          于「连接值」
          于(「报与余」中「一」)
          于「钥」
          于(「报与余」中「二」)
          于(「结尾多」授以「字节串」于「已存」于「载荷」)
          于(「加」于「已存字数」于(「字节串长度」于「载荷」))
          于(「减」于「余数」于「一」)
      否则若「等于」于「种」于「九八」则
        「收协商并存通道报」
          于「连接值」
          于(「报与余」中「一」)
          于「钥」
          于(「报与余」中「二」)
          于(「结尾多」授以「字节串」于「已存」于「载荷」)
          于(「加」于「已存字数」于(「字节串长度」于「载荷」))
          于(「减」于「余数」于「一」)
      否则
        「发生事故」授以(「字节串」合「字节串」合「字节串」合(「列」于「字节串」))
        于『重换钥前未知在途消息』
也。

「重换钥必须切换」乃
  化(「或可有」于(「重换钥状态」合「字节串」合「字节串」))而
  (「重换钥状态」合「字节串」合「字节串」)
也。
「重换钥必须切换」者会「结果」而
  鉴「结果」而
    有(「可有」于「字段」)则「字段」
    或有「可无」则
      「发生事故」授以(「重换钥状态」合「字节串」合「字节串」)
      于『重换钥方向重复切换』
也。

「:文言:已收客户 KEXINIT,旧钥交换曲线报与 NEWKEYS,发收各易;返余缓冲与新双向钥 IV。汉语:接收方已有客户端 KEXINIT;按旧钥完成 ECDH_INIT、ECDH_REPLY 和双向 NEWKEYS,按各自边界切换,返回新传输状态。服务端若已先发送 KEXINIT,传入阳并提供发送后的旧 IV。:」
「办理服务端重换钥传输」乃
  化「传输连接」而
  化「字节串」而
  化「字节串」而
  化「字节串」而
  化「字节串」而
  化「字节串」而
  化「字节串」而
  化「重换传输态」而
  化「爻」而
  「重换传输态」
也。
「办理服务端重换钥传输」者
  会「连接值」而
  会「客户协商」而
  会「服务协商」而
  会「客户版本」而
  会「服务版本」而
  会「主种」而
  会「首会话号」而
  会「旧态」而
  会「服务已先发」而
  鉴「旧态」而
    有(「在用传输态」于「旧字段」)则(
      虑「无」者
        若「协商载荷可用吗」于「客户协商」则「元」否则「发生事故」授以「有」
        于『重换钥客户 KEXINIT 非法』
      而
      虑「无」者
        若「协商载荷可用吗」于「服务协商」则「元」否则「发生事故」授以「有」
        于『重换钥服务 KEXINIT 非法』
      而
      虑「协商后发IV」者
        若「服务已先发」则「旧字段」中「四」否则「发送加密载荷至尽」
          于「连接值」
          于(「旧字段」中「三」)
          于(「旧字段」中「四」)于「服务协商」
      而
      虑「客户初报与余」者
        「收重换钥载荷」于「连接值」于(「旧字段」中「零」)于(「旧字段」中「一」)
        于(「旧字段」中「二」)于「二零」
      而
      虑「回报与待换」者
        「准备服务端重换钥回报」
          于「客户版本」
          于「服务版本」
          于「客户协商」
          于「服务协商」
          于(「客户初报与余」中「零」)于「主种」于「首会话号」
      而
      虑「回报后发IV」者
        「发送加密载荷至尽」于「连接值」于(「旧字段」中「三」)于「协商后发IV」
          于(「回报与待换」中「零」)
      而
      虑「无」者
        「发送加密载荷至尽」于「连接值」于(「旧字段」中「三」)于「回报后发IV」
          于(「编码启用新钥载荷」于「元」)
      而
      虑「已发」者
        「重换钥必须切换」于(「切换重换发送钥」于(「回报与待换」中「一」))
      而
      虑「客户新钥与余」者
        「收重换钥载荷」
          于「连接值」
          于(「客户初报与余」中「一」)
          于(「旧字段」中「一」)
          于(「客户初报与余」中「二」)于「二零」
      而
      虑「无」者
        若「启用新钥载荷可用吗」于(「客户新钥与余」中「零」)则
          「元」
        否则
          「发生事故」授以「有」于『重换钥客户 NEWKEYS 非法』
      而
      虑「已收」者
        「重换钥必须切换」于(「切换重换接收钥」于(「已发」中「零」))
      而
      虑「无」者
        若「重换钥完成吗」于(「已收」中「零」)则「元」否则「发生事故」授以「有」
          于『重换钥双向切换未完成』
      而
      「在用传输态」于((「客户新钥与余」中「一」)与(「已收」中「一」)与(「已收」中「二」)与(「已发」中「一」)
        与(「已发」中「二」)
      )
    )
也。

「:文言:通道中得客户 KEXINIT,以旧态再议,返新态。汉语:在活动会话中收到客户端 KEXINIT 后,以旧传输状态完成服务端响应和 NEWKEYS,返回新密钥与剩余缓冲。:」
「办理服务端通道重换钥」乃
  化「传输连接」而
  化「字节串」而
  化「重换传输态」而
  化「服务端重换上下文」而
  「重换传输态」
也。
「办理服务端通道重换钥」者会「连接值」而会「客户协商」而会「旧态」而会「上下文」而
  鉴「上下文」而
    有(「服务端重换配置」于「字段」)则
      「办理服务端重换钥传输」
        于「连接值」
        于「客户协商」
        于(「本端服务协商载荷」于「元」)
        于(「字段」中「零」)
        于(「字段」中「一」)
        于(「字段」中「二」)
        于(「字段」中「三」)于「旧态」于「阴」
也。

「:文言:服务者于会话中先送 KEXINIT,再收客户 KEXINIT 而沿旧态再议。汉语:服务端在通道运行期间主动发送 KEXINIT、接收客户端协商载荷,再以旧密钥和首次 session_id 完成重换钥。:」
「办理服务端先发通道重换钥」乃
  化「传输连接」而
  化「重换传输态」而
  化「服务端重换上下文」而
  「先发重换结果」
也。
「办理服务端先发通道重换钥」者会「连接值」而会「旧态」而会「上下文」而
  鉴「旧态」而
    有(「在用传输态」于「旧字段」)则(
      鉴「上下文」而
        有(「服务端重换配置」于「配置」)则(
          虑「服务协商」者「本端服务协商载荷」于「元」而
          虑「协商后发IV」者
            「发送加密载荷至尽」
              于「连接值」
              于(「旧字段」中「三」)
              于(「旧字段」中「四」)于「服务协商」而
              虑「客户协商与余」者
                「收协商并存通道报」
                  于「连接值」
                  于(「旧字段」中「零」)
                  于(「旧字段」中「一」)
                  于(「旧字段」中「二」)
                  于(「罄」授以「字节串」)于「零」于「一七」而
                  虑「后旧态」者
                    「在用传输态」于((「客户协商与余」中「一」)与(「旧字段」中「一」)与(「客户协商与余」中「二」)
                      与(「旧字段」中「三」)与「协商后发IV」)
                  而
                  「完成先发重换」于((「办理服务端重换钥传输」
                    于「连接值」
                    于(「客户协商与余」中「零」)
                    于「服务协商」
                    于(「配置」中「零」)
                    于(「配置」中「一」)
                    于(「配置」中「二」)
                    于(「配置」中「三」)于「后旧态」于「阳」)与(「客户协商与余」中「三」))
        )
    )
也。