关于火星坐标系统

2023-11-09

[转载]关于火星坐标系统  


2011-09-08 23:11:57|  分类: 默认分类 |字号 订阅
偶然得知中国有一种火星坐标系统。其原理是这样的:保密局开发了一个系统,能将实际的坐标转换成虚拟的坐标。所有在中国销售的数字地图必须使用这个系统进行坐标转换之后方可上市。这是生产环节,这种电子地图被称为火星地图。在使用环节,GPS终端设备必须集成保密局提供的加密算法(集成工作由保密局完成),把从GPS卫星那里得到的坐标转换成虚拟坐标,然后再去火星地图上查找,这样就在火星坐标系上完成了地图的匹配。 
推出这个系统的名义是为了国家安全。然后呢,需要收取一定的费用。

那么,这个系统到底有没有可能改进国家安全呢?我不相信一旦和外国打起仗来,人家的导弹还要跟中国政府要坐标。这个系统实际上是形同虚设的。用来对付恐怖分子,好像也没用,人家不会用GPS导航设备去做破坏的。这么一排除,就只剩下钱了。

这个系统有没有可能破解呢?有人尝试过了,做一些反向数学变换,但是总是有一些误差。其实,办法是有的。

从数学抽象上讲,加密算法等于是一个函数,它把一个坐标变换成另外一个坐标。那么,我们应该注意到,这个变换必定是连续的,也就是原本在地球坐标中相邻的两个点经坐标变换后,在火星坐标系里仍然是相邻的。否则,火星坐标系将无法正常工作。明白了这点,剩下的就容易了。

既然保密局把算法集成到终端中,获取算法的代码就是很容易的事情。做些反向工程即可把算法确定下来。

然后,要建立地球坐标到火星坐标之间的一一对应关系,保存到数据库或者文件里。怎么建立呢?考虑到GPS的各项误差叠加起来大约是10米之内,我们可以把地球表面划分为10米见方的网格,然后把格点的三维坐标输入保密算法,得到对应的火星坐标。

当需要一个目标地点的地球坐标的时候,由于前述保密函数的连续性,我们就可以在数据库或者文件中找到跟这个地点相邻的四个点,再从前面计算好的结果中查找到这四个点的地球坐标,做少许调整,然后目标地点的地球坐标就确定了,仍然在GPS容许的误差范围内。

这里假设地球是完美、光滑的球体。实际中还需要做很多调整。这个方法有可能需要反复应用以逼近真实的数据。

最后再来看一点点技术问题。

中国的陆地面积是960万平方公里,可以划分出960亿个网格,因此有960亿个格点需要计算。假设加密算法每秒钟可以计算100万个坐标,那么一台单核计算机需要9.6万秒来完成全部计算,也就是一天多一点的时间。存储空间问题更大一些。假如每个坐标需要24个字节的存储空间(假设每个维度使用一个32位浮点数,计算前后一共6个数字需要保存),则至少需要2TB的存储空间。有了这些数据,就可以把火星坐标系上的中国陆地地图全部转换成地球坐标系。

当然,这些数据并不是都要计算出来不可。比如,如果你只要北京或者上海的地球坐标,就没有必要把全国地图都计算一遍。又比如,你只要某一个地点的地球坐标,则可以基于保密函数的连续性,使用二分搜索方法确定一个运算范围,运算结果保存在内存中即可。(二分搜索应该需要保证保密函数是单调的,好像不一定。但是,肯定可以使用某种办法确定一个很小的尝试范围)

原文地址:http://phoenixsh.wordpress.com/2010/02/03/%E5%85%B3%E4%BA%8E%E7%81%AB%E6%98%9F%E5%9D%90%E6%A0%87%E7%B3%BB%E7%BB%9F/
此外关于火星坐标系和WGS84坐标系之间的转换关系,可以参考下几篇博文:
http://www.keakon.net/2011/07/02/WGS84%E5%9D%90%E6%A0%87%E8%BD%AC%E7%81%AB%E6%98%9F%E5%9D%90%E6%A0%87%EF%BC%88iOS%E7%AF%87%EF%BC%89
http://www.unistrong.com/bbs/topic.aspx?topicid=2774
http://www.sosaw.com/forum43/thread-181200-1-1.html
http://www.oschina.net/question/61929_9986
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于火星坐标系统 的相关文章

  • python中的加密算法 -- MD5加密--DES加密

    MD5加密算法 MD5消息摘要算法 属Hash算法一类 MD5算法对输入任意长度的消息进行运行 产生一个128位的消息摘要 不可逆性 每个人都有不同的指纹 看到这个人 可以得出他的指纹等信息 并且唯一对应 但你只看一个指纹 是不可能看到或读
  • 两种公钥加密算法——Merkle-Hellman背包、RSA

    今天看了一些加密体制 很厉害 佩服之余顺便总结下公钥 对称密钥很多啊 历史比较有名的有DES AES RC系列 水平不够说不清楚 所以不写了 自己以后也要看 所以尽量通俗易懂 其实是不怎么会很官方很学术 顺道说 明天就七夕了 我还在搞些啥跟
  • RSA/数字证书/签名原理详解

    文中首先解释了加密解密的一些基础知识和概念 然后通过一个加密通信过程的例子说明了加密算法的作用 以及数字证书的出现所起的作用 接着对数字证书做一个详细的解释 并讨论一下windows中数字证书的管理 最后演示使用makecert生成数字证书
  • vue-router路由中对query中的参数进行加密

    vue router路由中对query中的参数进行加密 源码地址在文末 在创建路由的时候 添加两个方法 stringifyQuery 序列化传入的query参数 方法可以接收一个对象参数 在new Router的时候传递这个属性 在序列化q
  • 一个 SPI 转串口驱动的优化

    rel File List href file C 5CDOCUME 7E1 5Czjujoe 5CLOCALS 7E1 5CTemp 5Cmsohtml1 5C01 5Cclip filelist xml gt 一个 SPI 转串口驱动的
  • 如何评估加解密代码?

    在不深入研究代码的具体实现的情况下 如何评估加解密代码的有效性 强度 背景 迫于无赖 项目组只能安排1位新手设计一系列的加密算法 用于对本地文件和二进制代码的加密 幸运的是 对加密强度并没有过高的要求 但也希望能够有效的评估代码 并实现自动
  • 可加密解密的MD5算法

    public class MD5andKL MD5加码 32位 public static String MD5 String inStr MessageDigest md5 null try md5 MessageDigest getIn
  • 利用security.js实现RSA加密

    在项目中遇到要对用户输入的密码进行RSA加密的需求 总结一下实现过程 div div
  • 密码学基础系列之(2.1传统对称密钥密码之三)

    多码代换密码 多码代换中 明文字符与密文字符的关系是一对多 密文C除了与明文P有关外 还与P的位置有关 自动密钥密码 autokey cipher P P1P2P3 C C1C2C3 k k1 P1 P2 加密 Ci Pi ki mod N
  • U盾的工作原理

    你的数字证书有一对 一份在U盾里的私钥 一份在银行的公钥 其实两份银行都有 U盾的原理很类似于双向认证的TLS SSL 或者其它用到RSA的双向证书验证手段 以下步骤可能和U盾实际执行的有所区别 但本质相同 银行先给你一个 冲击 它包含了随
  • Java I/O (第二版) I/O基础 I/O概述

    第一部分 第一章 介绍I O 输入和输出 的简写I O 它是任何操作系统和程序设计语言所必须的基础功能 只有空想家才会喜欢没有输入输出的程序 同时 IO的话题似乎对程序员没有什么吸引力 其实不然 我们应该有很多有趣的东西需要学习在IO中 J
  • 地球坐标系 (WGS-84) 到火星坐标系 (GCJ-02) 的转换算法

    原文 WGS 84 到 GCJ 02 的转换 即 GPS 加偏 算法是一个普通青年轻易无法接触到的 公开 的秘密 这个算法的代码在互联网上是公开的 详情请使用 Google 搜索 wgtochina lb 整理后的算法代码请参考 https
  • 多益视频面试

    多益面试 有一种怀疑人生的感觉 向老师 我对不起你 去年刚学的网络安全 我竟然没说出来加密算法的名字 也并不是题很难 而是简单的就是说不出来 写不出来 而难的也就是听过而已 问题 1 说一下什么是线程安全 线程安全的场景 线程安全就是确保程
  • CTF中那些脑洞大开的编码和加密

    0x00 前言 正文开始之前先闲扯几句吧 玩CTF的小伙伴也许会遇到类似这样的问题 表哥 你知道这是什么加密吗 其实CTF中脑洞密码题 非现代加密方式 一般都是各种古典密码的变形 一般出题者会对密文进行一些处理 但是会给留一些线索 所以写此
  • shell脚本中嵌入二进制文件

    最近有人问我 一个集群监控软件的安装文件特别 诡异 说脚本里有 乱码 却能执行 是怎么回事 我看了才发现这个东西原来是典型的脚本嵌套代码的模式 这里就讲讲吧 反正好久没写东西了 某些比较 拽 的单位在发布Linux软件时以一种特殊的形式发布
  • /etc/目录下的passwd文件内容详解

    etc passwd中一行记录对应着一个用户 每行记录又被冒号 分隔为7个字段 其格式和具体含义如下 用户名 口令 用户标识号 组标识号 注释性描述 主目录 登录Shell 1 用户名 是代表用户账号的字符串 通常长度不超过8个字符 并且由
  • 如何破解PDF文件密码(在线破解PDF密码)

    如何破解PDF文件密码 在线破解PDF密码 fcwgw 5d6d com 整理 凌空飞度社区 每当毕业临近的时候 毕业生都会忙着写论文 每逢此时 Adobe Reader就是最忙的了 但是有时候遇到一些加密的PDF文档 Adobe Read
  • koa使用之node.js 文件加密与解密

    利用node js的crypto模块实现文件加密解密 代码 加密函数 param text 需要加密的内容 param key 秘钥 returns Query 密文 function encode text key var secret
  • 使用 Oracle的存储过程实现数据加密和解密

    我们都知道 几乎所有的数据库都有存储过程 但在实际开发中 它有什么用途了 下面使用Oracle的存储过程 采用Oracle自带的dbms obfuscation toolkit desencrypt对数据进行加密 需要注意的是密码的长度必须
  • TLSv1.2抓包解密分析过程之ECDHE_RSA_WITH_AES_128_CBC_SHA256

    ECDHE RSA WITH AES 128 CBC SHA256模式下 RSA只用于身份验证 不用于加密 加密密钥是通过有限域的椭圆曲线算法交换的 需要拿到ECDH的私钥才能解密 本文的demo样本使用了特殊方法来获取这些参数 椭圆曲线加

随机推荐

  • 如何让opencv成为MATLAB中的一个工具箱

    如何让opencv成为MATLAB中的一个工具箱 前言 谈到图像处理的编程工具 MATLAB和opencv是最经常提到的 两者各有优缺点 比如 MATLAB的数据可视化做得很好 而且还有其它可以方便调用的工具箱 但是在图像的处理上面 不如o
  • IDEA快速生成方法

    快捷键 Alt Insert 按下快捷键之后会弹出如下界面 依次是Constructor方法 Getter方法 Setter方法 Getter 和Setter方法 equa 和 hashCode 方法 toString方法 Override
  • 三大通信协议(3)SPI——寄存器配置

    目录 一 SPI通信协议简介 二 SPI通信时序 1 主从通信 2 模式选择 三 实例 总结 一 SPI通信协议简介 SPI是串行外设接口 Serial Peripheral Interface 的缩写 是 Motorola 公司推出的一种
  • windows下expect使用小结

    最近因为学习tcl脚本语言 需要用到expect扩展包 结合网上的资料和自己的学习情况做一下整理 expect是一种基于TCL的解释型脚本语言 能够实现自动和交互式任务进行通信 而无需人的干预 expect由一系列expect send对组
  • SpringBoot结合MyBatis实现多数据源配置

    SpringBoot结合MyBatis实现多数据源配置 一 前提条件 1 1 环境准备 SpringBoot框架实现多数据源操作 首先需要搭建Mybatis的运行环境 由于是多数据源 也就是要有多个数据库 所以 我们创建两个测试数据库 分别
  • Unity【LayerMask】层级关系以及代码对层级的控制

    LayerMask的存储 LayerMask的每一个层级都是一个二进制数字 实际上LayerMash是32位的二进制记录的 每一个层级对应一个二进制位置 所以理论上Unity最多能有32个层级关系 为了方便解释以下列表假设只有5位二进制数据
  • Qt:FTP 与 QFtp 实现文件传输(C++: ftplib)

    目录 C 与 FTP 1 1 简介 1 2 工作原理 1 2 1 独特优势 1 2 2 基本模型 1 3 用户与传输 1 3 1 用户分类 1 3 2 传输方式 1 3 3 传输模式 1 4 控制命令 实现方式 2 1 QFtp 2 2 Q
  • eml文件是什么格式的文件?怎么打开?怎么导出eml文件?

    eml格式文件是一个电子邮件文件 其格式名由来是E mail 电子邮件 的缩写形式 一个eml文件打开后就是一封电子邮件 E mail 它是电子邮件导出后的格式 163 QQ等使用较多的邮件服务商都有邮件导出功能 导出后的文件就是eml格式
  • cmake的add_subdirectory

    命令格式 add subdirectory source dir binary dir EXCLUDE FROM ALL 添加一个子目录并构建该子目录 如果想同时编译多个CmakeLists txt 可以使用add subdirectory
  • cmakelist的作用及使用

    cmakelist的作用及使用 cpp平常的运行方式 cpp为编译型语言 需要把cpp文件编译成可执行文件 然后执行可执行文件 gcc main cpp o main 执行该可执行文件 main 但由于一些依赖错综复杂 且需要大量指令依次执
  • INS/GNSS组合导航(七)-SINS的微分方程的推导

    三 中对SINS的机械编排进行了初步可行性的介绍 并未对机械编排进行原理性介绍 那么在详细介绍机械编排之前 需要先对SINS的微分方程进行详细的推导 无论是机械编排 还是后面误差方程的建立 SINS的微分方程都是其重要的基础内容 那么本文在
  • 原神--原学入门--元素结晶盾盾值计算

    由于在角色的元素精通面板是可以看到分为了四类加成 其中一项便是对于结晶反应得到的元素护盾的增幅 于是便开始着手学习相关的计算 便览众多说法 最终都是归一为了如同文章 数据讨论 结晶反应护盾值计算相关 NGA玩家社区 的说法一样的计算方法 1
  • 2020年第十一届蓝桥杯javaB组省赛

    文章目录 试题 A 门牌制作 试题 B 寻找 2020 试题 C 蛇形填数 试题 D 七段码 试题 E 排序 试题 F 成绩分析 试题 G 单词分析 试题 H 数字三角形 试题 I 子串分值和 试题 J 装饰珠 以下均为个人想法和解题思路
  • c/c++ 智能指针 weak_ptr 使用

    智能指针 weak ptr 使用 weak ptr用途 1 解决空悬指针问题 2 解决循环引用问题 weak ptr特点 没有 操作和 gt 操作 weak ptr是不控制所指对象生存周期的智能指针 它指向由一个shared ptr管理的对
  • java版 SpringCloud 之目前得前端框架都有哪些?

    1 AngularJS Angular JS 是一个有Google维护的开源前端web应用程序框架 它最初由Brat Tech LLC的Misko Hevery于2009年开发出来 Angular JS是一个模型 视图 控制器 MVC 模式
  • libdl.so的用途

    通过对某些bin或者so执行ldd 可以看到他们运行前需要连接的共享库 但是有时候会看到有2个与dl相关的so ld linux so和libdl so 这时候我就有些困惑了 他们分别做了什么工作呢 原来 ld linux so的工作是在程
  • monkeyrunner的基本

    导入我们需要用到的包和类并且起别名 import sys from com android monkeyrunner import MonkeyRunner as mr from com android monkeyrunner impor
  • 渗透测试工程师面试题大全(三)

    渗透测试工程师面试题大全 三 from backlion大佬 整理 101 什么是 WebShell WebShell 就是以 asp php jsp 或者 cgi 等网页文件形式存在的 种命令执行环境 也可以将其称做为 种网页后门 黑客在
  • VLAN间路由及路由器下连接交换机的配置方法

    方法一 建议路由器下连接三层交换机 例如Cisco3650 大体思路是 三层交换机与路由器之间建立OSPF邻居 将交换机上的Vlan三层网段宣告出来 Vlan中主机的默认网关设置为Vlan三层网段实现Vlan间互通以及对外通信 其中 Vla
  • 关于火星坐标系统

    转载 关于火星坐标系统 2011 09 08 23 11 57 分类 默认分类 字号 订阅 偶然得知中国有一种火星坐标系统 其原理是这样的 保密局开发了一个系统 能将实际的坐标转换成虚拟的坐标 所有在中国销售的数字地图必须使用这个系统进行坐