SSHサーバーを立てるときに暗号化方式として、DSA暗号とRSA暗号方式があるようですが、
http://computers.yahoo.co.jp/dict/
でDSA暗号方式が掲載されていないことを見ると
RSA暗号方式の方が安全であり、なおかつ最新で主流のものと考えてよろしいでしょうか?
また、DSA暗号とRSA暗号方式のメリットやデメリットなどご存知の方、ご教授できればありがたく思います。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

確かDSAは署名のみですけど、署名で良いのかな。



DSA署名のメリットは
・署名サイズが320ビット固定
デメリットは
・鍵長が仕様上1024ビットまでで強度が不十分との見方も

RSA署名のメリットは
・鍵長がかなり長く取れる
デメリットは
・署名サイズは鍵長程度(最近は2048ビット以上)になる

公開鍵暗号ではまずRSA方式を使うので、その関係から署名もRSAを使うことが多く、現状はRSAが主流でしょうね。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QDSA暗号とRSA暗号

SSHサーバーを立てるときに暗号化方式として、DSA暗号とRSA暗号方式があるようですが、
http://computers.yahoo.co.jp/dict/
でDSA暗号方式が掲載されていないことを見ると
RSA暗号方式の方が安全であり、なおかつ最新で主流のものと考えてよろしいでしょうか?
また、DSA暗号とRSA暗号方式のメリットやデメリットなどご存知の方、ご教授できればありがたく思います。

Aベストアンサー

確かDSAは署名のみですけど、署名で良いのかな。

DSA署名のメリットは
・署名サイズが320ビット固定
デメリットは
・鍵長が仕様上1024ビットまでで強度が不十分との見方も

RSA署名のメリットは
・鍵長がかなり長く取れる
デメリットは
・署名サイズは鍵長程度(最近は2048ビット以上)になる

公開鍵暗号ではまずRSA方式を使うので、その関係から署名もRSAを使うことが多く、現状はRSAが主流でしょうね。

QRSA暗号の統計的手法による解読

RSA暗号はべき乗と剰余で暗号化するのですから、同じNとEを使い続けてたり長文を暗号化したりすると統計的手法で解読されてしまうのではないでしょうか。

Aベストアンサー

もちろん、現在一般的に使用されている鍵やそれによる暗号文を統計的に解読するには時間がかかりすぎるので、適切な鍵ならあまり心配する必要はないのですが、その可能性は否定できません。

なのでその点も考慮して、PKIにおいては正式に発行された鍵には有効期限が定められていて、定期的に更新する仕組みになっています。

QRSA暗号について教えてください

RSA暗号がどのようなものか、また仕組みについて教えて下さい。調べても分からなかったので、できるだけわかりやすく教えて下さい。また、RSA暗号を用いて、二桁程度の素数を二つ使って暗号の仕方、また戻し方の例を教えてください。お願いします。

Aベストアンサー

素数を考えます。
素数は自分と1以外の数では割り切れないものですね。

仮に11を考えて見ましょう。
これをModulo(法)と呼びます。
11より大きいものがない世界です。
この世界では、11は11でいいのですが、12はどうなるか
12は、11の次ですから、11を法にした世界では2になります。
こういう不思議な世界では11までしか数字がありません。

たとえば2という数字を考えます。
2の2乗は4
2の3乗は8
2の4乗は16 これは11が法の世界では6です。
2の5乗は? いま6だったので、12になりますが、11が法ですから2です。

さて、これを、2の代わりに3,4,5,・・10までずっとやってみてください。
驚くことがおきているはずです。
どんな数字でも5乗すると、元の数字に戻っているはずです。
もう少ししつこくやってみてください。
10乗しても、15乗しても、基の数字に戻ります。

法といっているものは秘密鍵というものです。

ここで公開鍵を12、とするとします。
提示する数字は12乗した数字だといっているのです。

そして何かの数字をいくつか提出します。これはべき計算をしたときの12番目のものです。これが暗号です。

オリジナルの法がいくつかわかっていたら、(11だということがわかっていたら)公開鍵が12は、実は2乗された数字だといっているに過ぎないことがわかります。

11が法なら5乗で元にもどりますのでその数字の3つ先に複合化した数字があるはずです。またはこの数の平方根がオリジナルの数字のはずです。

11というのは説明のためにかんたんな数字を選んだだけです。もっと大きい素数を法として使うのが安心です。

これをアルファベットの並び順なんかに変換していくと、だんだんわからないことになります。


これがRSA暗号複合の仕組みです。サルでもわかる簡単さです。

サルにわからないように解析するのは数式をつかってみてください。

参考URL:http://www.maitou.gr.jp/rsa/rsa01.php

素数を考えます。
素数は自分と1以外の数では割り切れないものですね。

仮に11を考えて見ましょう。
これをModulo(法)と呼びます。
11より大きいものがない世界です。
この世界では、11は11でいいのですが、12はどうなるか
12は、11の次ですから、11を法にした世界では2になります。
こういう不思議な世界では11までしか数字がありません。

たとえば2という数字を考えます。
2の2乗は4
2の3乗は8
2の4乗は16 これは11が法の世界では6です。
2の5乗は? いま6だったので...続きを読む

Q公開鍵暗号 RSAについて

こんにちは、

RSAの説明には、

公開鍵(a,N)
秘密鍵(b,N)
N=素数c×素数d

を用意した場合、a,c,dを決定できれば、bを導いて秘密鍵を導くことができます。

とあります。N、c、dの関係はわかりますが、a,bは何でしょうか?

Aベストアンサー

> 具体的に、どのような数字がこの条件を満たすのでしょうか?但し、例なので、大きい数字で無くても結構です。

c = 31、d = 13でやってみます(この場合、N = cd = 403です。)
c - 1 = 30、d - 1 = 12なので、L = (30と12の最小公倍数) = 60
よって、

ab = 1 (mod 60)

となります。
abは60で割ると余り1なので、abの値として考えられるのは

ab = 61, 121, 181, 241, 301, 361, 421, 481, ……

となります。こうなるaとbの組を探します。

ab = 61の時、61 = 1×61なので、(a, b) = (1, 61)または(a, b) = (61, 1)
ab = 121の時、121を素因数分解すると11×11なので。(a, b) = (11, 11)となります。
また、121 = 1×121なので、(a, b) = (1, 121), (121, 1)もOKです。
a = 1またはb = 1となる組はいくらでも作れますが面白くないので、
そうならない他の(a, b)の組を紹介します。
ab = 301の時、301を素因数分解すると7×43なので(a, b) = (7, 43), (43, 7)。
ab = 361の時、361を素因数分解すると19×19なので(a, b) = (19, 19)。
ab = 481の時、481を素因数分解すると13×37なので(a, b) = (13, 37), (37, 13)となります。

一応これらの鍵で暗号化、復号化が正しくできるかどうかは確認済みです。
平文として利用可能なのは0~402です。
なので、この0~402の数値を順番に(a, N)で暗号化して暗号文を生成し、
その暗号文を(b, N)で復号化して、復号化された数値ともとの平文を比較しました。

ちなみに公開鍵暗号(RSA暗号も含む)は通常、公開鍵で暗号化し、秘密鍵で復号化しますが、
RSA暗号に関しては秘密鍵で暗号化し、公開鍵で復号化することもできます。
今までの計算結果を見ると、公開鍵に使われるaと秘密鍵に使われるbは交換しても大丈夫そうですよね。

> 具体的に、どのような数字がこの条件を満たすのでしょうか?但し、例なので、大きい数字で無くても結構です。

c = 31、d = 13でやってみます(この場合、N = cd = 403です。)
c - 1 = 30、d - 1 = 12なので、L = (30と12の最小公倍数) = 60
よって、

ab = 1 (mod 60)

となります。
abは60で割ると余り1なので、abの値として考えられるのは

ab = 61, 121, 181, 241, 301, 361, 421, 481, ……

となります。こうなるaとbの組を探します。

ab = 61の時、61 = 1×61なので、(a, b) = (1, 61)また...続きを読む

QRSA暗号化の処理時間

RSAでの暗号化で100Kバイトのデータを
処理するのにかかる時間はどれくらいなのでしょうか?
 CPUは、Pen4, 3GH
メモリーは 1G
くらいで考えています。
この時間が長すぎれば
共通鍵方式の鍵のみを暗号化する事になるのでしょうが
データ全体をRSAで暗号化したらどうかと考えています。

Aベストアンサー

RSA、遅いですよ。
共通鍵暗号は、毎秒数Mbit以上処理できるものが多いと思いますが、RSAはそれより1桁あるいは2桁遅くなります。もっとも、Pen4 3Gだとちょっと違ってくるかもしれませんが、それでも共通鍵に比べて非常に遅くなるでしょう。
暗号での通信など、ほとんど共通鍵暗号またはストリーム暗号です。公開鍵方式の暗号は、共通鍵暗号の鍵を送る際に使用します。

Qsshのセキュリティ 鍵方式にすべきか

LinuxPCにWindowsからリモートでログインすることを考えています。
現在は、
/etc/hosts.deny に ALL:ALL
/etc/hosts.allow にホストのIPアドレス
としています。ログインは普通のパスワード認証です。
より安全な鍵方式のログインもあるそうなのですが、導入すべきでしょうか?
また現状のセキュリティで十分といえるでしょうか?

Aベストアンサー

sshをhosts.allowやhosts.denyで制限するためにはそもそもinetd(xinetd)でsshdを起動している必要があるのですが、その点は確認済みですか?もしかしたら、何の制限もかかっていないかも知れません。
とはいえ、このような方法(tcpwrapper)でsshを制限することは推奨されていません。IPベースで制限をかけるためなら、iptables等のレベルのファイアーウォールを動作させてください。

あと、蛇足ですがhosts.denyは確か古い書式で、最近はhosts.allowに統一されていたかと。逆だったかも知れません。


鍵認証については、ログインする人を管理しきれるなら間違いなくやっておいたほうが良いです。もしやるのであれば、PAM認証を切るのもお忘れなく。
「どこまでやったほうがよいか」については一般的な回答はありませんが、鍵認証で問題がないなら鍵認証のみにしておくに越したことはないでしょう。

Q学校でRSA暗号について勉強して分からないところがありましたので質問し

学校でRSA暗号について勉強して分からないところがありましたので質問します。

暗号文の作成者をAさん、復号者をBさんとします。
Aさんは暗号文と公開鍵{e,n}を一般に公開しますよね?
暗号文を復号化するには秘密鍵が必要ですが、Bさんはeとnしか分からない(一般の人と得られる情報が同じ)のにどうやって秘密鍵を作成するのですか?nのもとになっている2つの素数がわからないことには秘密鍵が作成できないとおもうのですが…
RSA暗号はnの素因数分解が計算量的に困難だから安全なんですよね?Bさんはどうやって2つの素数を特定するのでしょうか?

教えてください。

Aベストアンサー

公開鍵暗号方式は、
南京錠と考えると分かりやすいです。
AさんがBさんに暗号文を送る場合は、
Bさんの公開鍵を使って暗号化します。
南京錠に例えると、Bさんの南京錠で鍵をかけるわけです。
BさんはBさんの秘密鍵を持っているため
復号化できます。
Bさんの南京錠でかけられた鍵はBさんの秘密鍵で
開けられるというわけです。

これが公開鍵暗号方式のしくみですが、
どのように暗号化するか、は自由です。
RSA暗号が良く使われているだけですね。

参考URL:http://www.atmarkit.co.jp/aig/02security/pubkey.html

QAES暗号方式について

AES暗号化方式では,秘密鍵(共通鍵)を用いてランダムに生成したセッション鍵で暗号化し,さらにそのセッション鍵を暗号化する.
復号化する場合は,逆の手順で平文に戻す
と認識しています.

これを踏まえて以下の質問に回答いただけると幸いです.

1.上の認識は間違っていないでしょうか?
2.暗号文を復号するには,暗号化時に生成したセッション鍵の値と秘密鍵が必要であると言えますか?
3.秘密鍵が漏れなければセッション鍵が漏れても問題ありませんか?

以上,3点についてご教授いただけると幸いです.
よろしくお願いします.

Aベストアンサー

暗号通信の手順に関するご質問でしょうか?
AESは共通鍵暗号ですから、何らかの方法で共通鍵を事前に交換できれば暗号化/復号できます。ただ、共通鍵を安全に渡すのは面倒だったりするので、公開鍵を使って乱数などで発生させた鍵を通信によりその都度受け渡しするのが一般的です。共通鍵が交換できれば、その後の通信はAESでのみ暗号化されます。
この場合、通信文は秘密鍵が分かっていれば復号できる可能性があります。ただ、お互いに乱数を交換して共通鍵を生成することが多いので、双方の秘密鍵と通信手順を知らないと共通鍵を生成できないかもしれません。(秘密鍵がわかれば交通鍵は推測できてしまうでしょうけど)

3番目ご質問ですが、セッション鍵(共通鍵)がわかれば復号できる可能性があります。

QRSA暗号の実装

java言語でRSA暗号で自分で入力した数字の暗号化、複合化をしようと思っているんですが、どうしてもうまくいきません。アルゴリズムを教えてもらえませんか?

Aベストアンサー

>アルゴリズムを教えてもらえませんか

RSA暗号化を自分で行うということですか?
やめた方がいいと思いますけど。

アルゴリズムの前に、仕組みを知ることが先ですので、参考になりそうなURLを紹介しておきます。

それと、アルゴリズムを知りたいのなら、他のカテゴリの方が回答が多いと思います。

http://www.maitou.gr.jp/rsa/
http://www.cybersyndrome.net/rsa/

参考URL:http://www.maitou.gr.jp/rsa/

Q初級シスアド【共通カギ暗号方式について】

共通カギの個数を解く問題なのですが、以下の問題で、全体で必要なカギが「45個」だそうです。私は9個かなと思ったのですが、なぜ45個も必要なのでしょうか?

よろしくお願いします。

(問題)
“かぎ1”と“かぎ2”に同じ“かぎ”を用いる暗号方式で,10人がインターネットメールを使って暗号通信を行いたい。このとき,通信は1対1で行い,当事者以外には通信内容を秘密にしておくとすると,個人で管理する“かぎ”の数は[  e  ]個となる。また,全体では[  f  ]個の“かぎ”が必要となる。
 
解答群
ア2、イ9、ウ10、エ18、オ45、カ90、キ100

(答え)
e:9,f:45
---------------------------------------------

まず、eについて、
自分以外の人たち9人分のカギを管理する必要があるというわけでしょうか?9人それぞれが、固有のカギを持っているというわけでしょうか?

だとすると、fでは
1人で9個のカギを保管。
10人いるので、全体では90個のカギが存在するということにはならないようですが、なぜ45個なのでしょうか?

共通カギの個数を解く問題なのですが、以下の問題で、全体で必要なカギが「45個」だそうです。私は9個かなと思ったのですが、なぜ45個も必要なのでしょうか?

よろしくお願いします。

(問題)
“かぎ1”と“かぎ2”に同じ“かぎ”を用いる暗号方式で,10人がインターネットメールを使って暗号通信を行いたい。このとき,通信は1対1で行い,当事者以外には通信内容を秘密にしておくとすると,個人で管理する“かぎ”の数は[  e  ]個となる。また,全体では[  f  ]個の“かぎ”が必要となる。
 
解答群...続きを読む

Aベストアンサー

スポーツで総当たりの組み合わせのようなものです。
A~Jさんの10人がいるとすると、下図で、それぞれの
人の持っている鍵は1行の中のo,xの和だと考えると、
全員が9個ずつもっています。ところが、共通鍵です
から、「Aさんの持っているBさん用の鍵」と「Bさんの
持っているAさん用の鍵」は同じものです。ですから、
全てのoの鍵には、全く同じxの鍵がありますから、鍵
の個数(というか、鍵の種類数ですが)は、当初考え
た90個の1/2ということになります。

考え方が分かれば、図などなくても、n人の時は、
n×(n-1)×(1/2)
となることがわかるはずです。

_ABCDEFGHIJ
A_ooooooooo
Bx_oooooooo
Cxx_ooooooo
Dxxx_oooooo
Exxxx_ooooo
Fxxxxx_oooo
Gxxxxxx_ooo
Hxxxxxxx_oo
Ixxxxxxxx_o
Jxxxxxxxxx_


人気Q&Aランキング

おすすめ情報