MCP HubMCP Hub
스킬 목록으로 돌아가기

solve-modular-arithmetic

pjt222
업데이트됨 Yesterday
3 조회
17
2
17
GitHub에서 보기
기타general

정보

이 스킬은 선형 합동식, 중국인의 나머지 정리 시스템, 모듈러 지수 연산을 포함한 모듈러 산술 문제를 해결합니다. 수론 계산을 처리하며 RSA와 같은 암호화 알고리즘의 수학적 기초를 제공합니다. 수학적 또는 보안 관련 코드에서 모듈러 산술 연산을 구현하거나 분석할 때 사용하십시오.

빠른 설치

Claude Code

추천
기본
npx skills add pjt222/agent-almanac -a claude-code
플러그인 명령대체
/plugin add https://github.com/pjt222/agent-almanac
Git 클론대체
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/solve-modular-arithmetic

Claude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요

문서


name: solve-modular-arithmetic description: > 求解模运算问题:同余方程、中国剩余定理、Euler 定理和 模幂运算。涵盖基本模运算、线性同余方程组和密码学中的 RSA 算法应用。 license: MIT allowed-tools: Read Grep Glob WebFetch WebSearch metadata: author: Philipp Thoss version: "1.0" domain: number-theory complexity: intermediate language: natural tags: number-theory, modular-arithmetic, congruences, chinese-remainder-theorem, rsa locale: zh-CN source_locale: en source_commit: 6f65f316 translator: claude-sonnet-4-6 translation_date: 2026-03-16

求解模运算问题

系统求解涉及同余式、中国剩余定理和 Euler 定理的模运算问题。

适用场景

  • 求解线性同余方程 ax ≡ b (mod m)
  • 应用中国剩余定理求解同余方程组
  • 使用 Euler 定理和 Fermat 小定理简化模幂运算
  • 计算模逆元
  • 理解和实现 RSA 加密算法的数学基础

输入

  • 必需:模运算问题的陈述
  • 可选:是否需要详细的中间步骤
  • 可选:应用上下文(纯数学或密码学)
  • 可选:计算工具偏好(手算或编程辅助)

步骤

第 1 步:建立模运算框架

分析问题并确定所需的模运算工具:

  1. 基本定义:a ≡ b (mod m) 意味着 m | (a - b)。
  2. 模运算性质
    • 加法:如果 a ≡ b 且 c ≡ d (mod m),则 a+c ≡ b+d (mod m)
    • 乘法:如果 a ≡ b 且 c ≡ d (mod m),则 ac ≡ bd (mod m)
    • 幂运算:如果 a ≡ b (mod m),则 a^k ≡ b^k (mod m)
    • 注意:除法不能直接用——需要模逆元
  3. 关键定理识别
    • Euler 定理:gcd(a, m) = 1 时,a^phi(m) ≡ 1 (mod m)
    • Fermat 小定理:p 为素数且 p 不整除 a 时,a^(p-1) ≡ 1 (mod p)
    • 中国剩余定理:模数两两互素时,同余方程组有唯一解
  4. Euler 函数 phi(m)
    • phi(p) = p - 1(p 为素数)
    • phi(p^k) = p^(k-1)(p - 1)
    • phi(mn) = phi(m)phi(n)(当 gcd(m,n) = 1)

预期结果: 问题已分析,所需的定理和工具已确定。

失败处理: 如果问题涉及非互素的模数,中国剩余定理不能直接应用。需要先检查兼容性条件。

第 2 步:求解同余方程

执行核心计算:

  1. 线性同余方程 ax ≡ b (mod m):
    • 计算 d = gcd(a, m)
    • 如果 d 不整除 b,方程无解
    • 如果 d 整除 b,化简为 (a/d)x ≡ (b/d) (mod m/d)
    • 用扩展 Euclid 算法找 a/d 的模逆元
    • 解为 x ≡ x_0 (mod m/d),共 d 个模 m 的解
  2. 模逆元:a 的模 m 逆元 a^(-1) 满足 aa^(-1) ≡ 1 (mod m)
    • 存在条件:gcd(a, m) = 1
    • 计算方法:扩展 Euclid 算法或 a^(phi(m)-1) mod m
  3. 同余方程组(中国剩余定理):
    • x ≡ a_1 (mod m_1), x ≡ a_2 (mod m_2), ..., x ≡ a_k (mod m_k)
    • 令 M = m_1 * m_2 * ... * m_k
    • 对每个 i,计算 M_i = M / m_i 和 y_i = M_i^(-1) (mod m_i)
    • 解为 x ≡ sum(a_i * M_i * y_i) (mod M)

预期结果: 同余方程的解,或方程组的唯一解(模 M)。

失败处理: 如果扩展 Euclid 算法的实现有误,通过直接验证 ax ≡ b (mod m) 来检查结果。

第 3 步:模幂运算和应用

高效计算大数模幂和应用于密码学:

  1. 快速幂(反复平方法):
    • 计算 a^n mod m
    • 将 n 写成二进制:n = b_k * 2^k + ... + b_1 * 2 + b_0
    • 反复平方:result = 1;对每位 b_i,result = result^2 * a^(b_i) mod m
    • 复杂度 O(log n) 次模乘
  2. Euler 定理简化
    • 计算 a^n mod m 时,先将 n 化简为 n mod phi(m)
    • 例如:7^222 mod 10 → phi(10) = 4 → 222 mod 4 = 2 → 7^2 = 49 → 49 mod 10 = 9
  3. RSA 算法
    • 密钥生成:选素数 p, q;n = pq;phi(n) = (p-1)(q-1);选 e 使 gcd(e, phi(n)) = 1;计算 d = e^(-1) mod phi(n)
    • 加密:c = m^e mod n
    • 解密:m = c^d mod n
    • 正确性:c^d = m^(ed) ≡ m^(1 + k*phi(n)) ≡ m (mod n)(由 Euler 定理)

预期结果: 正确的模幂运算结果,或完整的 RSA 密钥对及加密/解密演示。

失败处理: 如果模幂运算结果不正确,使用小数值例子(如 3^5 mod 7 = 5)验证算法实现。

验证清单

  • gcd 计算正确
  • 线性同余方程的可解性条件已检查
  • 模逆元通过乘法验证(a * a^(-1) ≡ 1 (mod m))
  • 中国剩余定理的互素条件已验证
  • 解已代入原方程验证
  • 模幂运算使用了快速幂算法
  • RSA 参数满足安全要求(密钥长度足够)

常见问题

  • 忘记检查 gcd 条件:ax ≡ b (mod m) 有解当且仅当 gcd(a,m) | b。不检查就直接计算可能得到错误结果。
  • 模运算中使用负数:许多编程语言中 (-7) mod 5 返回 -2 而非 3。在模运算中总是取正余数。
  • 中国剩余定理应用于非互素模数:CRT 要求模数两两互素。如果不满足,需要先分解为互素分量。
  • Euler 定理的前提条件:a^phi(m) ≡ 1 (mod m) 要求 gcd(a, m) = 1。如果 a 和 m 不互素,定理不适用。
  • RSA 中使用太小的素数:教学示例可以用小素数,但实际应用必须使用至少 1024 位的素数。

相关技能

  • analyze-prime-numbers -- 模运算大量依赖素数性质
  • explore-diophantine-equations -- 丢番图方程常涉及模运算技巧

GitHub 저장소

pjt222/agent-almanac
경로: i18n/zh-CN/skills/solve-modular-arithmetic
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

연관 스킬

llamaguard

기타

LlamaGuard는 폭력 및 혐오 발언 등 6가지 안전 범주에서 LLM 입력과 출력을 조정하기 위한 Meta의 70-80억 파라미터 모델입니다. 94-95% 정확도를 제공하며 vLLM, Hugging Face 또는 Amazon SageMaker를 사용해 배포할 수 있습니다. 이 기술을 사용하여 AI 애플리케이션에 콘텐츠 필터링 및 안전 가드레일을 손쉽게 통합하세요.

스킬 보기

cost-optimization

기타

이 Claude Skill은 리소스 적정화, 태깅 전략, 지출 분석을 통해 개발자들이 클라우드 비용을 최적화할 수 있도록 지원합니다. AWS, Azure, GCP에서 클라우드 비용을 절감하고 비용 거버넌스를 구현하기 위한 프레임워크를 제공합니다. 인프라 비용을 분석하거나, 리소스를 적정화하거나, 예산 제약을 충족해야 할 때 사용하세요.

스킬 보기

quantizing-models-bitsandbytes

기타

이 스킬은 bitsandbytes를 사용하여 LLM을 8비트 또는 4비트 정밀도로 양자화하며, 최소한의 정확도 손실로 50-75%의 메모리 감소를 달성합니다. 제한된 GPU 메모리에서 더 큰 모델을 실행하거나 추론을 가속화하는 데 이상적이며, INT8, NF4, FP4와 같은 형식을 지원합니다. 이 스킬은 HuggingFace Transformers와 통합되어 QLoRA 학습 및 8비트 옵티마이저를 가능하게 합니다.

스킬 보기

dispatching-parallel-agents

기타

이 Claude Skill은 3개 이상의 독립적인 문제를 동시에 조사하고 해결하기 위해 다중 에이전트를 배치합니다. 공유 상태나 의존성 없이 해결 가능한 무관련 장애 시나리오에 맞게 설계되었습니다. 핵심 기능은 병렬 문제 해결로, 각 독립 문제 영역마다 하나의 에이전트를 할당하여 효율성을 극대화합니다.

스킬 보기